[英]Onsen + VueJS: Call back from child component (using onsNavigatorProps)
每個文檔在這里
如果頁面A推動頁面B,則它可以發送功能作為修改頁面A上下文的屬性或數據。 這樣,每當我們要從頁面B向頁面A發送任何內容時,頁面B只需調用該函數並傳遞一些參數即可:
// Page A
this.$emit('push-page', {
extends: pageB,
onsNavigatorProps: {
passDataBack(data) {
this.dataFromPageB = data;
}
}
});
我正在遵循這個想法。 用this.$store.commit
做類似的事情
我想推送AddItemPage
並將返回的值復制到this.items
//Parent.vue
pushAddItemPage() {
this.$store.commit('navigator/push', {
extends: AddItemPage,
data() {
return {
toolbarInfo: {
backLabel: this.$t('Page'),
title: this.$t('Add Item')
}
}
},
onsNavigatorProps: {
passDataBack(data) {
this.items = data.splice() //***this*** is undefined here
}
}
})
},
//AddItemPage.vue
...
submitChanges()
{
this.$attrs.passDataBack(this, ['abc', 'xyz']) // passDataBack() is called, no issues.
},
...
唯一的問題是這在回調函數中不可用。
所以我不能這樣做this.items = data.splice()
當前上下文可通過箭頭運算符獲得。
正確版本:
onsNavigatorProps: {
passDataBack: (data) => {
this.items = data.splice()
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.