高血压专题网,内容丰富有趣,生活中的好帮手!
高血压专题网 > vuex 对象嵌套属性的修改 mutations set 很方便的写法

vuex 对象嵌套属性的修改 mutations set 很方便的写法

时间:2019-08-15 02:01:20

相关推荐

vuex 对象嵌套属性的修改 mutations set 很方便的写法

需求:一个对象

const state = {user: {verify: {state: 0}}}

我需要使用类似this.set({ 'user.verify.state': 1 })这种写法直接获取或修改state[user.verify.state]的值。不知道别人怎么写的,我的写法如下:

const mutations = {set(state, params) {Object.keys(params).forEach(key => {// 需要替换的值const val = params[key];const arr = key.split(".");if (arr.length > 1) {let obj = state;while ((arr.length - 1) && (obj = obj[arr.shift()]));obj[arr[0]] = val} else {state[key] = val}})}}

这样想要修改state中任意一个对象,就非常方便了。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。