【发布时间】:2019-11-09 14:20:38
【问题描述】:
我已将我的数据对象声明为queuedItemList: [],它应该包含由后台服务提供的一组项目。在 HTTP 请求之后,我使用类似的 for 循环填充列表
for(var i = 0; i < getList.length; i++) {
var newObject = Object.assign({}, getList[i]);
this.queuedItemList.splice(i, 1, newObject);
}
用于填充以下模板
<Item v-for="(item, index) in queuedItemList" :key="index" :componentData="item" :index="index" @remove="removeItem">
</Item>
我应该定期执行 HTTP GET 来获取新的项目列表,其中还可能包含状态可能不同的当前项目。在组件内部,我使用v-if 在两个不同的图标之间进行选择。
<v-icon name="play" class="controlIcons" v-if ="playControl" />
<v-icon name="pause" class="controlIcons" v-if ="!playControl" />
现在,在一些 HTTP 请求之后,我在 Vue Devtools 中看到 playControl 的值发生了变化,这证实了实际值反映在组件中。但是,由于playControl 值的变化,我看不到图标的变化。此外,如果我刷新屏幕,一切都会按预期工作。
我的猜测是我在某处搞砸了反应性。谢谢!
【问题讨论】:
标签: vue.js vuejs2 vue-component vuetify.js