Javascript Vue v-for不';不能直接更新

Javascript Vue v-for不';不能直接更新,javascript,vue.js,Javascript,Vue.js,已解决: 我的错误。问题在于我的代码逻辑,tempLatest数组总是空的,因此包含卡的数组从未更新过。顺便说一句,谢谢你的回答 我想创建一个显示卡片集合的程序。该集合将每15秒更新一次。但是问题来了,当一张新卡添加到列表中时,v-for不会直接更新,但是当页面刷新时,它会显示正确的输出 这是我的密码 <PersonCard v-for="item in latest" v-bind:key="item.id" :attendeeName="item.name" :image="item.

已解决: 我的错误。问题在于我的代码逻辑,tempLatest数组总是空的,因此包含卡的数组从未更新过。顺便说一句,谢谢你的回答

我想创建一个显示卡片集合的程序。该集合将每15秒更新一次。但是问题来了,当一张新卡添加到列表中时,v-for不会直接更新,但是当页面刷新时,它会显示正确的输出

这是我的密码

<PersonCard v-for="item in latest" v-bind:key="item.id" :attendeeName="item.name" :image="item.picture" :department="item.department"/>
//最新更新此文件
对于(var j=0;j
使用vue forceUpdate方法

更新最新变量后,调用此变量

this.$forceUpdate();

尝试将vue版本用作1.0.28

在Vue中如何重新激活阵列存在一些限制(请参阅:)

记住这一点,当您进行更新时,请这样做:

for(var j=0;j
注意:我没有对您的代码进行测试,因此您可能需要在当前循环临时列表时进行一些操作,索引可能不匹配,但
$set
是一种方法。您也可以尝试:

this.$set(this, 'latest', tempLatest)

而不是循环每个项目。

可能是范围问题。如果fetchRecognizedFace使用此关键字,则会遇到问题。也许可以试试这个.fetchRecognitizedFace.bind(这个)为什么降级到最后一个主要版本可以解决这个问题?强制整个组件更新不是正确的方法。
// update this.latest
for (var j = 0; j < tempLatest.length; j++) {
    this.latest.unshift(tempLatest[j]);
}
import Vue from 'vue';
Vue.forceUpdate();
this.$forceUpdate();
this.$set(this, 'latest', tempLatest)