0
我試圖在Vue.js中實現存儲模式,並且卡住了。我有兩個通過道具傳遞給他們的共享狀態的子組件。每個子組件都做了與傳入的道具不同的東西。comp-a
有一個輸入和兩個按鈕,用戶可以將字添加到列表中或完全清空列表,而comp-b
負責映射並顯示字數組。我能夠的話,像這樣的陣圖了:在Vue.js中實現存儲模式
Vue.component('comp-b', {
props: ['astore'],
template: '#comp-b',
data: function(){
return {
words: store.state.words
}
},
computed: {
theWords: function(){
return this.words.map(function(word){
return word
})
}
}
})
我有一些困難,搞清楚如何清空單詞列表,以便通過點擊Empty words
按鈕,它更新了什麼是顯示在comp-b
(其中應該是什麼的話,因爲現在已經從單詞列表中清除)
這裏是一個演示:http://codepen.io/p-adams/pen/oLpzPA
工作。謝謝!出於好奇,如果我只是在調用clear()時將this.state.words設置爲空數組,它爲什麼不起作用呢? –
我是Vue的新手,所以我沒有完全意識到vue中的變化檢測是如何工作的。我也很驚訝,爲什麼這不起作用。只是猜測,但也許是因爲[]創建一個新的數組,並沒有引用原始數組vue不觸發變化檢測。 – Altrim