Vue.js
Автобус событий
Поиск…
Вступление
Коды событий - полезный способ связи между компонентами, которые не связаны напрямую, т. Е. Не имеют отношений между родителями и дочерними элементами.
Это просто пустой экземпляр vue
, который можно использовать для $emit
events или прослушивания $on
указанных событиях.
Синтаксис
- экспорт по умолчанию новый 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