应用采用 Vue + Vuex
state = {
checklist: [{
title: 'xxx',
content: 'xxx'
}, {
// ...
}]
}
需要修改 checklist 某个子元素的值(如 checklist 的第 0 个元素的 content),那么我该如何选择以下两种处理方式呢:
在组件内处理这个修改的逻辑,然后将修改后的整个 checklist 通过 action 赋值
向 action 传递必要的参数,如第几个子元素、修改了哪些字段。整个修改逻辑在 action 内完成。
对于 第一种方式
会出现 在外部修改 state 的报错:Do not mutate vuex store state outside mutation handlers.
对于 第二种方式
我认为修改逻辑应该在组件自身完成,然后将修改后的结果传递给 action 中,不然 action 会很臃肿。
希望大家对于第一种方案提出解决方案,和说出你们的解决方案或看法。谢谢。
如果这个逻辑是很多个组件公用的.那就放在action.
如果这个逻辑再不同组件是不一样的.则放在组件内.