vue实例事件

实例方法 / 事件

vm.$on

监听当前实例上的自定义事件。事件可以由 vm.$emit 触发。回调函数会接收所有传入事件触发函数的额外参数。

vm.$on('test', function (msg) {
   
  console.log(msg)
})
vm.$emit('test', 'hi')
// => "hi"

vm.$once( event, callback )

监听一个自定义事件,但是只触发一次。一旦触发之后,监听器就会被移除。

vm.$off

移除自定义事件监听器。

如果没有提供参数,则移除所有的事件监听器;

如果只提供了事件,则移除该事件所有的监听器;

如果同时提供了事件与回调,则只移除这个回调的监听器。

vm.$emit

触发当前实例上的事件。附加参数都会传给监听器回调。

Vue.component('welcome-button', {
   
  template: `
    <button v-on:click="$emit('welcome')">
      Click me to be welcomed
    </button>
  `
})
<div id="emit-example-simple">
  <welcome-button v-on:welcome="sayHi"></welcome-button>
</div>
new Vue({
   
  el: '#emit-example-simple',
  methods: {
   
    sayHi: function () {
   
      alert('Hi!')
    }
  }
})

配合额外的参数使用 $emit

Vue.component('magic-eight-ball', {
   
  data: function () {
   
    return {
   
      possibleAdvice: ['Yes', 'No', 'Maybe']
    }
  },
  methods: {
   
    giveAdvice: function () {
   
      var randomAdviceIndex = Math.floor(Math.random() * this.possibleAdvice.length)
      this.$emit('give-advice', this.possibleAdvice[randomAdviceIndex])
    }
  },
  template: `
    <button v-on:click="giveAdvice">
      Click me for advice
    </button>
  `
})
<div id="emit-example-argument">
  <magic-eight-ball v-on:give-advice="showAdvice"></magic-eight-ball>
</div>
new Vue({
   
  el: '#emit-example-argument',
  methods: {
   
    showAdvice: function (advice) {
   
      alert(advice)
    }
  }
})

相关推荐

  1. vue实例事件

    2023-12-10 04:42:04       35 阅读
  2. 模式实现vue事件总线

    2023-12-10 04:42:04       17 阅读
  3. vue 实现 下拉触底事件

    2023-12-10 04:42:04       14 阅读
  4. vue实现axios和事件Bus等父子组件的事件传递实现

    2023-12-10 04:42:04       14 阅读
  5. vue实现动态点击事件

    2023-12-10 04:42:04       8 阅读
  6. Vue待办事项实现

    2023-12-10 04:42:04       21 阅读
  7. vue 事件$on,$off的注意事项

    2023-12-10 04:42:04       15 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-10 04:42:04       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-10 04:42:04       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-10 04:42:04       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-10 04:42:04       18 阅读

热门阅读

  1. linux命令积累

    2023-12-10 04:42:04       35 阅读
  2. 如何检查mysql表里,某个字段是否存在相同值?

    2023-12-10 04:42:04       39 阅读
  3. ANSYS 有限元分析 后处理 结点解与单元解

    2023-12-10 04:42:04       43 阅读
  4. 数据库基础学习03计算机二级-第三章 数据定义

    2023-12-10 04:42:04       40 阅读