vue中$emit與$on和BUS
bus
//vue原型鏈掛載總線
Vue.prototype.bus = new Vue();
//子組件發送數據
this.bus.$emit("change",data);
//子組件接收數據
this.bus.$on("change",function(data){
})
vue中$emit與$on
var Event = new Vue();
- 相當於又new了一個vue實例,Event中含有vue的全部方法
Event.$emit('msg',this.msg);
- 發送數據,第一個參數是發送數據的名稱,接收時還用這個名字接收,第二個參數是這個數據現在的位置
vent.$on('msg',function(msg){
//這里是對數據的操作
})
-
接收數據
- 第一個參數是數據的名字,與發送時的名字對應
- 第二個參數是一個方法,要對數據的操作
-
需要注意的是接受數據的時候(例如
mounted
)會有this
作用域問題