第一部分,利用props 传值
其实,props 地方很好理解 ,就是你在当前组件A中,如果想要 调用其他组件B,并给B那个组件进行传值的话,你直接在A中使用B 时,带上想要传递的值就好了,当然,想要传递的这个必须首先在A 组件中进行定义,然后对应的就是B 组件中,利用props 进行接收,B中使用的话,要以 props.a 的形式进行直接使用。
//父组件中调用子组件
<ChildComponent
v-model="modelValue"
placeholder="使用 v-model 绑定"
@update:modelValue="updatemodelValue"
/>
同时,子组件中进行接收
export default defineComponent({
props: {
modelValue: {
type: [String, Number],
default: ''
}
},
第二部分,利用emit 进行传值
就比如上述的父组件部分,update 这个事件,就可以利用emit 进行绑定,emit 的部分主要还是需要写在子组件上
//这里的update 这个话是vue 自带的,是隐式执行的,
emits:['update:receiver'],
setup(props,{emit}){
const updatechange =(newVal)=>{
emit('update:recevier',newVal)
}
return{
updatechange
}
emit:[emiteventname],里面写的是事件名:后面是传值的参数 。无论父组件使用的叫什么事件名,子组件都可以用update这个事件名来,处理子组件里内容的变化,子组件这里绑定的数值发生了任何变化,都会利用emit 进行事件传值。