サーチ…


前書き

イベントバスは、直接関連していないコンポーネント間の通信のための便利な方法です。つまり、親子関係はありません。

それはちょうど空になってvueに使用することができ、例えば、 $emitイベントをか聞く$on言ったイベント。

構文

  1. デフォルトの新しいVue()を書き出す

備考

お互いのデータを必要とする多くのコンポーネントがアプリケーションにある場合は、vuexを使用します。

eventBus

// setup an event bus, do it in a separate js file
var bus = new Vue()

// imagine a component where you require to pass on a data property
// or a computed property or a method!

Vue.component('card', {
  template: `<div class='card'>
    Name: 
      <div class='margin-5'>
          <input v-model='name'>
    </div>
    <div class='margin-5'>
      <button @click='submit'>Save</button>
    </div>
  </div>`,
  data() {
    return {
      name: null
    }
  },
  methods: {
    submit() {
      bus.$emit('name-set', this.name)
    }
  }
})

// In another component that requires the emitted data.
var data = {
  message: 'Hello Vue.js!'
}

var demo = new Vue({
  el: '#demo',
  data: data,
  created() {
    console.log(bus)
    bus.$on('name-set', (name) => {
      this.message = name
    })
  }
})


Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow