91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

vue中的event bus非父子組件通信解析

發布時間:2020-10-23 13:47:17 來源:腳本之家 閱讀:154 作者:CURRY_zhao 欄目:web開發

有時候非父子關系的組件也需要通信。在簡單的場景下,使用一個空的Vue實例作為中央事件總線:

var bus = new Vue()
// 觸發組件 A 中的事件
bus.$emit('id-selected', 1)
// 在組件 B 創建的鉤子中監聽事件
bus.$on('id-selected', function (id) {
 // ...
})

在更多復雜的情況下,你應該考慮使用專門的 狀態管理模式.就是用到了vuex

eventBus是作為兄弟關系的組件之間的通訊中介。

代碼示例:

<!DOCTYPE html>
<html>
<head>
<title>eventBus</title>
<script src="http://cdn.jsdelivr.net/vue/1.0.28/vue.min.js"></script>
</head>
<body>
<div id="todo-app">
<h2>todo app</h2>
<new-todo></new-todo>
<todo-list></todo-list>
</div>
<script>
var eventHub = new Vue( {
data(){
return{
todos:['A','B','C']
}
},
created:function () {
this.$on('add', this.addTodo)
this.$on('delete', this.deleteTodo)
},
beforeDestroy:function () {
this.$off('add', this.addTodo)
this.$off('delete', this.deleteTodo)
},
methods: {
addTodo: function (newTodo) {
this.todos.push(newTodo)
},
deleteTodo: function (i) {
this.todos.splice(i,1)
}
}
})
var newTodo = {
template:`<div><input type="text" autofocus v-model="newtodo"/><button @click="add">add</button></div>`,
data(){
return{
newtodo:''
}
},
methods:{
add:function(){
eventHub.$emit('add', this.newtodo)
this.newtodo = ''
}
}
}
var todoList = {
template:`<ul><li v-for="(index,item) in items">{{item}} \
     <button @click="rm(index)">X</button></li> \
     </ul>`,
     data(){
     return{
     items:eventHub.todos
     }
     },
     methods:{
     rm:function(i){
     eventHub.$emit('delete',i)
     }
     }
}
var app= new Vue({
el:'#todo-app',
components:{
newTodo:newTodo,
todoList:todoList
}
})
</script>
</body>
</html>

效果圖如下:

vue中的event bus非父子組件通信解析

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

文水县| 盐津县| 天台县| 襄樊市| 湛江市| 云浮市| 泌阳县| 周宁县| 韩城市| 红安县| 麻阳| 水富县| 涡阳县| 彭阳县| 大邑县| 星子县| 桃江县| 洞口县| 连平县| 拉萨市| 富川| 林芝县| 滦平县| 清河县| 桐乡市| 分宜县| 元朗区| 宁强县| 德昌县| 郴州市| 常山县| 区。| 若尔盖县| 宜丰县| 米林县| 罗田县| 凉山| 宜黄县| 子长县| 定州市| 桓台县|