QQ咨询 官方微信

添加微信好友

官方小程序

百度小程序

微信小程序

头条小程序

关于我们

vue教程

vue中 关于$emit的用法

 admin  2020-09-05 09:36:24
1、父组件可以使用 props 把数据传给子组件。
2、子组件可以使用 $emit 触发父组件的自定义事件。

vm.$emit( event, arg ) //触发当前实例上的事件

vm.$on( event, fn );//监听event事件后运行 fn;

例如:子组件:
  1. <template> 
  2.   <div class="train-city"
  3.     <h3>父组件传给子组件的toCity:{{sendData}}</h3> 
  4.     <br/><button @click='select(`大连`)'>点击此处将‘大连’发射给父组件</button> 
  5.   </div> 
  6. </template> 
  7. <script> 
  8.   export default { 
  9.     name:'trainCity'
  10.     props:['sendData'], // 用来接收父组件传给子组件的数据 
  11.     methods:{ 
  12.       select(val) { 
  13.         let data = { 
  14.           cityname: val 
  15.         }; 
  16.         this.$emit('showCityName',data);//select事件触发后,自动触发showCityName事件 
  17.       } 
  18.     } 
  19.   } 
  20. </script> 

父组件:
  1. <template> 
  2.     <div> 
  3.         <div>父组件的toCity{{toCity}}</div> 
  4.         <train-city @showCityName="updateCity" :sendData="toCity"></train-city> 
  5.     </div> 
  6. <template> 
  7. <script> 
  8.   import TrainCity from "./train-city"
  9.   export default { 
  10.     name:'index'
  11.     components: {TrainCity}, 
  12.     data () { 
  13.       return { 
  14.         toCity:"北京" 
  15.       } 
  16.     }, 
  17.     methods:{ 
  18.       updateCity(data){//触发子组件城市选择-选择城市的事件 
  19.         this.toCity = data.cityname;//改变了父组件的值 
  20.         console.log('toCity:'+this.toCity) 
  21.       } 
  22.     } 
  23.   } 
  24. </script> 


¥ 打赏
×
如果您觉得文章帮助了您就打赏一下吧
非常感谢你的打赏,我们将继续分享更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏

本文《vue中 关于$emit的用法》发布于石头博客文章,作者:admin,如若转载,请注明出处:https://www.pweb123.com/frame/vue/817.html,否则禁止转载,谢谢配合!

文章点评

我来说两句 已有0条评论
点击图片更换

添加微信好友

添加微信好友

微信小程序

百度小程序