小白有關Vue中$on和$emit的見解和一些疑惑

on和emit

<html>
  <head>
    <title>$emit 和 $on</title>
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
  </head>
  <body>
    <div id="root">
      <button @click="boost">觸發事件</button>
    </div>
    <script> new Vue({ el: '#root', data() { return { message: 'hello vue' } }, created() { this.$on('my_events', this.handleEvents) }, methods: { handleEvents(e) { console.log(this.message, e) }, boost() { this.$emit('my_events', 'my params') } } }) </script>
  </body>
</html>
複製代碼

1.$on事件

首先先看官方文檔 javascript

​ 能夠看出,他主要是和$emit 配合使用。第一個是 事件 名稱(也能夠是一個數組,經過調試也能夠看出來)。 第二個是回調函數,也就是 事件的執行函數html

2.$emit事件

​ 也是先看官方文檔vue

$emit鏈接java

官方文檔上說的是,附加參數會傳給監聽器回調,但事實上是npm

這個緣由是什麼呢? 我也嘗試了利用數組循環,一樣也不行。只會console.log 第一個,若是傳入的是一個數組,會直接把數組輸出api

請教各位大佬。數組

相關文章
相關標籤/搜索