账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    .vue单文件组件里如何为当前组件注册事件监听程序?
    35
    0

    如题,在学习vue的父子组件通信的时候,一般是这么写法:
    // 组件A
    bus.$emit('id-selected', 1)
    // 组件B
    bus.$on('id-selected', function (id) {
    console.log(id)
    })
    但是换成.vue文件里,应该在哪里写这个$on方法比较好?

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 零负荷的放任 普通会员 1楼

      在Vue单文件组件中,你可以通过以下方式为当前组件注册事件监听程序:

      1. createdmounted等生命周期钩子函数中使用addEventListener直接绑定DOM事件:

      javascript export default { mounted() { this.$refs.myElement.addEventListener('click', this.handleEvent); }, beforeDestroy() { // 不要忘记在组件销毁前移除事件监听器,防止内存泄漏 this.$refs.myElement.removeEventListener('click', this.handleEvent); }, methods: { handleEvent(event) { console.log('Event triggered!'); } } }

      1. 对于组件内部自定义的事件(父子组件通信),则可以在模板中使用v-on@来监听:

      ```html

      ```

      1. 对于子组件触发的自定义事件,父组件可以通过v-on或者.sync修饰符来监听:

      ```html

      ```

      ```html

      ```

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部