在下王高人 2021-03-02 13:27 采纳率: 0%
浏览 355

vue的$emit()方法的使用,有一个疑问

let bus = new Vue()

 

Vue.component('my-demo', {

template: `

<div class='father'>

爱你{{obj}}

<button @click='fn'>按钮</button>

</div>

`,

data() {

return {

obj: {

name: 'zs',

age: 18

}

}

},

methods:{

fn(){

bus.$emit('send',this.obj)

}

}

})

Vue.component('my-demo1', {

template: `

<div class='son'>

哟哟 {{msg}}

</div>

`,

data() {

return {

msg: 'asdf'

}

},

mounted() {

bus.$on('send', (msg) => {

console.log(msg);

this.msg = msg

})

}

})

let vm = new Vue({

el: '.app',

}

)

$emit()这个方法好像只能通过事件里面去使用,不能放到钩子函数里面使用,请问一下这是为什么

  • 写回答

1条回答 默认 最新

  • howcoder 2021-03-02 13:45
    关注

    可以放在钩子函数里面的,你可以在钩子函数的里面不用bus.$emit(),而是改用this.$emit(),因为在钩子函数里面,你的bus还没构建完成

    评论

报告相同问题?

悬赏问题

  • ¥15 树莓派与pix飞控通信
  • ¥15 自动转发微信群信息到另外一个微信群
  • ¥15 outlook无法配置成功
  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题