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)
添加回答
举报