我有一个使用vue的应用程序.js.我在一个对象数组中使用v-for生成一个结果列表.

this.results.displayed[key] = _.extend({}, this.results.displayed[key], detail.items);

但问题是,当我像上面说的那样使用extend时,它不会更新视图.

推荐答案

当您按数组索引设置新项时,Vue无法检测到更改.要解决这个问题,可以使用Vue添加到数组中的$set()方法.

var newObject = _.extend({}, this.results.displayed[key], detail.items);
this.results.displayed.$set(key, newObject);

更多信息here.

Vue.js相关问答推荐

使用nuxt I18N验证规则消息翻译

虚拟DOM在Vue中姗姗来迟

我如何使用vuejs访问彼此嵌套的json对象

在计算(computed)属性上调用数组方法

组合 API | Vue 路由参数没有被监视

Nuxt 2.15.7 的构建错误 - 无法解析 CSS @font-face URL

Vuetify grid layout - 如何填充网格中元素的高度

无需直接 DOM 操作即可绘制d3-axis

Nuxt.js 中的开发工具样式编辑问题

Vuelidate 判断true/false

如何在 vue.js 2 的其他组件中调用方法?

Vuetify v-select 组件宽度变化

如何有条件地更改 vue/vuetify 文本字段 colored颜色

vue-router的router-link实际刷新?

错误 [ERR_UNSUPPORTED_ESM_URL_SCHEME]:默认 ESM 加载器仅支持文件和数据 URL - Vue 3

此 set-cookie 已被阻止,因为它具有 samesite=lax

如何在 VueJS 中访问 [__ob__: Observer] 的元素?

根据路由动态插入 CSS 类到导航栏

样式化 Vue 插槽

TypeError: Object(...) 不是 Vue 中的函数