javascript - Vuex - 更新数组中的整个对象

标签 javascript vue.js vuejs2 vuex

在我的 Vuex 突变中,我想替换我状态中的一个数组元素,如下所示:

UPDATE_MAILING(state, mailing) {
    let index = _.findIndex(state.mailings, {id: mailing.id});

    state.mailings[index] = mailing
}

但这不会更新我绑定(bind)到这个数组的模板。我怎样才能 react 性地更新数组元素?

最佳答案

你应该在 Vue 实例中使用 Vue.$set(或 this.$set):

UPDATE_MAILING(state, mailing) {
    let index = state.mailings.findIndex(item => item.id === mailing.id)
    Vue.$set(state.mailings, index, mailing)
}

文档:Vue.js → Reactivity in Depth

关于javascript - Vuex - 更新数组中的整个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55287795/

相关文章:

javascript - 只向前端发送指定的javascript文件

javascript - 根据对象数组生成树

javascript - 什么是 X-REMOVED HTTP header ?

javascript - 将 Backbone.js 与 _.noConflict() 一起使用

javascript - 从 Node 模块在 VueJS 中提供 firebaseui.css 的问题

javascript - 使用 vuex 从其他组件更改 v-model 的值

javascript - 在 Vue 代码中使用 javascript 库/插件

javascript - 禁用按钮时 '@typescript-eslint/no-non-null-assertion' 的用途

javascript - 从vue js中的多选框中检索选定的值

typescript - Vue.js 和 vuex : this. $store 未定义