我在Vuex中有一个具有以下功能的对象:
// Define the object in the state
myObj = {};
// Add a key and give it an empty array
state.myObj[someNumericalId] = [];
// Add a value to the array
state.myObj[someNumericalId].push['someData'];
如何在以下情况下通知计算的变化
我是否需要使用手表,还是可以仅通过计算来完成?一个很肮脏的例子,看看我是否能得到任何回报:
<span v-for="(someArray, someIndex) in getMyObj" v-bind:key="someIndex">
<p> {{someIndex}} - {{JSON.stringify(someArray)}} </p>
</span>
computed: {
...mapGetters(['getMyObj'])
}
答案 0 :(得分:2)
不需要watch
,以下是使属性具有反应性的两种方法:
选项一:声明状态对象中的属性:
myObj = { someNumericalId: [] };
选项二:使用Vue.set
将属性添加到您的对象中,以进行突变:
Vue.set(state.myObj, someNumericalId, []);
此后,push
方法应自动触发更新。