3 回答

TA貢獻1770條經驗 獲得超3個贊
根據官方文檔:
Reactive
:
獲取一個對象并返回原始對象的反應代理。這等同于 2.x 的Vue.observable()
...。
反應式轉換是“深度”的:它影響所有嵌套屬性。在基于 ES2015 Proxy 的實現中,返回的代理不等于原始對象。建議專門使用反應式代理并避免依賴原始對象。
我建議將數組分配給反應參數中名為 value 的字段,就像您所做的那樣test
:
resources:?Vue.reactive({value:[]}),
然后用于resources.value=someVal
更新該值。

TA貢獻1712條經驗 獲得超3個贊
兩件事情:
resources: Vue.reactive({value:[]})
可以通過使整個商店反應來避免data()
是一個本地副本,但你真的想要一個真實的單一來源(即商店),所以通過計算屬性訪問它(基本上是 Vuex 的工作方式)。
var self = currentClassInstance // this
self.store = Vue.reactive({
resources: [],
setResources(resources) {
this.resources = resources
},
})
const app_draw = {
computed: {
resources() {
return self.store.resources
}
}
template: '<div v-for="(resource, key) in resources" :data-key="key">{{resource.name}}</div>'
};

TA貢獻1796條經驗 獲得超4個贊
一個快速的方法
const resources = reactive([]);
// set resources
resources.length = 0;
resources.push(...items)
添加回答
舉報