vue3中父组件和子组件模块相互传递参数最常用方法:关于$emit 和 props 的用法
[ 2022-05-07 21:54:20 | 作者: admin ]
1、父组件数据传给子组件: props
2、子组件可以使用 $emit 让父组件监听到自定义事件 。
vm.$emit( event, 参数 ) //触发当前实例上的事件
vm.$on( event, fn ); //监听event事件后运行 fn
例如:
子组件:
<template>
<div>
<h3>父组件传给子组件的toCity:{{sendData}}</h3>
<br/><button @click="select('大连')">点击此处将‘大连’传给父组件</button>
</div>
</template><script>
export default {
name:'selectCity',
props:['sendData'], //用来接收父组件传给子组件的数据
methods:{
select(val) {
let data = {
cityname: val
};
//select函数运行后,自动触发eventShowCityName事件,在父组件会为事件绑定函数
this.$emit('eventShowCityName',data); //data是为函数准备的参数
}
}
}
</script>父组件:
<template>
<div>
<div>父组件的toCity{{toCity}}</div>
<SelectCity @eventShowCityName="updateCity" :sendData="toCity"></SelectCity>
</div>
<template><script>
import SelectCity from "./SelectCity";
export default {
name:'index',
components: {SelectCity },
data () {
return {
toCity:"北京"
}
},
methods:{
updateCity(argData){ //触发子组件城市选择-选择城市的事件
this.toCity = argData.cityname; //改变了父组件的值
console.log('toCity:'+this.toCity)
}
}
}
</script>
https://blog.csdn.net/sllailcp/article/details/78595077
[最后修改由 admin, 于 2022-05-10 15:57:57]
评论Feed: http://blog.xg98.com/feed.asp?q=comment&id=2856
这篇日志没有评论。
此日志不可发表评论。






