vue3使用setup语法糖组件基础传值

**(1):defineProps:**传入要使用的props定义自定义属性,传递过来的值具有响应式,和props一样;

**(2):defineEimts:**传入要自定义的事件,emit实例去传入自定义事件的值,和$emit或context.emit一样;

父组件:

javascript 复制代码
<template>
   <initInput :index="8" @changeInit="changeInit"></initInput>
</template>

<script lang="ts" setup>
import initInput from './computed/initInput.vue';
const changeInit = (e: any) => {
  console.log(e);  // 100
}
</script>

子组件:

javascript 复制代码
<template>
    <div>
        <el-button type="primary" @click="change">点击</el-button>
    </div>
</template>
<script lang="ts" setup>
import { onMounted, getCurrentInstance } from 'vue';
import { useRoute, useRouter } from 'vue-router';
// data数据
let { proxy: this_ }: any = getCurrentInstance();
let route = useRoute();
let router = useRouter();
// mounted
// methods方法
let props = defineProps({
    index: {
        type: Number,
        default: 0
    }
});
let emit = defineEmits(["changeInit"]);
const change = () => {
    console.log(props.index);  // 8
    emit("changeInit", 100);
}
</script>
<style scoped  lang='scss'>
</style>
相关推荐
xianxin_3 分钟前
CSS Dimension(尺寸)
前端
小宋搬砖第一名3 分钟前
前端包体积优化实战-从 352KB 到 7.45KB 的极致瘦身
前端
陈随易4 分钟前
前端之虎陈随易:2025年8月上旬总结分享
前端·后端·程序员
草巾冒小子8 分钟前
天地图应用篇:增加全屏、图层选择功能
前端
universe_0126 分钟前
day25|学习前端js
前端·笔记
Zuckjet32 分钟前
V8 引擎的性能魔法:JSON 序列化的 2 倍速度提升之路
前端·chrome·v8
MrSkye32 分钟前
🔥React 新手必看!useRef 竟然不能触发 onChange?原来是这个原因!
前端·react.js·面试
wayman_he_何大民39 分钟前
初识机器学习算法 - AUM时间序列分析
前端·人工智能
juejin_cn40 分钟前
前端使用模糊搜索fuse.js和拼音搜索pinyin-match提升搜索体验
前端
....4921 小时前
Vue3 + Element Plus 实现可搜索、可折叠、可拖拽的部门树组件
前端·javascript·vue.js