【发布时间】:2021-05-26 01:00:39
【问题描述】:
接下来两种方法的技术区别是什么?示例很简单,但是当我有巨大的嵌套对象时,我需要传递大量 ID 才能在突变中找到所需的对象。
在第二个示例中,我传递一个数组并对其进行变异。同样,从技术上讲,在这两个示例中,我们调用了相同的 push 方法。我对吗?应该是一样的。
const state = () => ({
cards: []
});
mutations: {
addCard(state, card) {
state.cards.push(card)
}
}
// Component...
this.$store.commit('addCard', {...card});
和
const state = () => ({
cards: []
});
mutations: {
addCard(state, data) {
data.cards.push(data.card)
}
}
// Component...
this.$store.commit('addCard', { cards: this.$store.cards, card: {...card} });
【问题讨论】:
-
第二块无效。突变定义不应该有 3 个参数。也许你错过了一些解构大括号。
标签: javascript arrays vue.js state vuex