Vue.js和Airbnb no-param-reassign棉绒规则-如何修改对象数组中的属性?

时间:2018-10-12 20:45:34

标签: vuejs2 eslint eslint-config-airbnb

我正在使用vue-cli并接受了ESLint的默认规则,包括我从未使用过的composer.json

我有一种方法需要:

  1. 接受package-extension个对象的数组

  2. 遍历对象,并为每个对象分配一个no-param-reassign

  3. 重新排序并返回数组。

columnDefinition始终会出错,除非我使用lodash创建新的新对象数组并将其返回。

例如,我通过

columnDefinition.originalOrder

如果没有这个规则,我将no-param-reassign遍历数组并使用 [ { label: 'Number of Siblings', searchEnabled: false, sortEnabled: false, newOrder: 3, lotsOfNestedData: { moreNesting: 'etc', }, }, { label: 'Pet Name', searchEnabled: false, sortEnabled: false, newOrder: 1, lotsOfNestedData: { moreNesting: 'etc', }, }, { label: 'Favorite Hobby', searchEnabled: false, sortEnabled: false, newOrder: 4, lotsOfNestedData: { moreNesting: 'etc', }, }, { label: 'Favorite Outfit', searchEnabled: false, sortEnabled: false, newOrder: 2, lotsOfNestedData: { moreNesting: 'etc', }, }, ] 属性对对象进行突变。然后根据.eachitem.originalOrder = idx对数组进行变异。

使用no mutating params规则,我能想到的最好的办法是创建一个新数组(以便对它进行排序),然后创建每个对象的克隆,然后将.sort属性添加到。

newOrder

这看起来像是多余的代码和内存,但是我是否完全丢失了某些东西?

此样板/内存是执行此操作的首选方法吗?

还是最佳实践只是关闭规则?

1 个答案:

答案 0 :(得分:0)

vue.js vue forum

上有一个正式答案。

“ Vue项目本身对此没有意见。”

因此,原始问题的答案是选项2:保留无参数重新分配规则不是Vue的最佳做法。

相关问题