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]

这篇日志没有评论。
此日志不可发表评论。