我有孩子component
並想將一些數據傳遞給它的父項。 我的子組件的樣子:我應該在哪裏放置處理程序?
// <button @click="sendClick($event)">Send</button>
// ...
data: function(){
return {
mycode: ""
}
},
methods: {
sendClick(e)
{
bus.$emit('change', this.mycode);
}
}
我父組件的樣子:
var app = new Vue({
el: '#app',
data: {
currentView: 'past-form',
mycode: ''
},
methods:
{
changeView()
{
this.currentView = 'past-form'
console.log(this.mycode);
},
},
created()
{
bus.$on('change', function(mycode){
this.mycode = mycode;
});
}
})
我還沒有找到一個更好的地方放置
bus.$on
(bus
全局聲明)比created()
,但是文檔聲明created()
適用於在頁面加載後應該初始化的內容。created()
塊的工作;我檢查了它console.log(this.mycode)
,但我應該移動發射處理程序在其他地方?這看起來像我的代碼不執行
mycode: ''
,因爲console.log(this.mycode);
不會打印任何東西。
如果你的孩子是Vue公司的直接孩子,沒有必要一輛公交車。 – Bert