需求:一个对象

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中任意一个对象,就非常方便了。

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

  1. 前端vue从后台取到数据(数组对象)后遍历给对象添加属性,修改这个属性为什么没有用?

    1. 场景: 带有数据监听的框架都可,我用的是vue框架 从后台获取数组对象,想给对象添加只在前端用得上的属性如item_checked: false 2. 问题: 控制台输出该对象已经存在该属性了, ...

  2. 细说JavaScript中对象的属性和方法

    最近在回家的路上读了尼古拉斯的新书<JavaScript面向对象精要>,发现自己对对象的属性和方法不是很熟悉,特别是es5新增的部分,特写此文总结一下,同时也与大家共勉. 本文分为两部分, ...

  3. 关于Spring纳管对象及属性注入的一点理解

    1.@ComponentScan 扫描的范围里,包含@Component.@Controller.@Service(@Controller.@Service本质也是@Component)等注解的类会被 ...

  4. python 修改模板对象的属性_django小技巧之html模板中调用对象属性或对象的方法...

    环境:依赖最初test2数据库 python3版本 多python版本环境 进入,python3虚拟环境,新建项目test4: ]# cd py3/django-test1/ ]# django-ad ...

  5. const 修饰的对象属性可以修改,但是修饰的常量就不可以修改

    es6 const定义基本数据类型的变量是不可以修改,其它复杂数据类型(对象啊,数组啥的)是可以修改的 样例: <!DOCTYPE html> <html lang="en ...

  6. JQuery修改对象的属性值

    JQuery修改对象的属性值 用到的便是JQuery提供的attr方法,获取属性值的基本结构为:$(obj).attr("属性名"):修改属性值的结构为:$(obj).attr(& ...

  7. 如何获取数组中嵌套对象中属性值不为空的对象?

    如何获取数组中嵌套对象中属性值不为空的对象? 有一个对象数组如下: let arr = [ {id:1,aa:'aa1'}, {id:2,aa:'aa2',bb:{ cc:{dd:12} }}, {i ...

  8. javascript动态添加、修改、删除对象的属性和方法

    上一节介绍了如何引用一个对象的属性和方法,现在介绍如何为一个对象添加.修改或 者删除属性和方法. 在其他语言中,对象一旦生成,就不可更改了,要为一个对象添加修改成员必须要在对 应的类中修改,并重新实例 ...

  9. unity获取游戏对象及修改游戏对象的属性,对于游戏对象的基本操作

    一:unity获取游戏对象 1直接获取 2通过路径获取 3创建函数体 4根目录开始获取.先上后先获取 1.GameObject.Find只能发现激活的对象 2.transform.Find可以发现未激 ...

最新文章

  1. squid缓存服务器
  2. mac php7 mysql 扩展_升级到php7和安装拓展(mac centos)
  3. elementui 下拉框回显_element-ui 中el-select表单不回显和校验不通过的问题
  4. mysql got signal 11_mysql bug : mysqld got signal 11
  5. leetcode--116. 填充每个节点的下一个右侧节点指针
  6. ASP.NET4.5Web API及非同步程序开发系列(3)
  7. java操作elasticsearch实现前缀查询、wildcard、fuzzy模糊查询、ids查询
  8. Problem E: 分数统计
  9. pairwork2测试作业
  10. 动态组合sql语句详解
  11. Linux服务器异常关机,重启启动后weblogic无法启动
  12. 不用花钱,不用公网ip,用zerotier直接外网高速访问群晖,理论黑群晖白群晖都可以
  13. DelayQueue使用
  14. js第六、七天 Array、string
  15. 【leetcode】Reaching Points
  16. 在文件夹及其子文件夹内,批量提取相同后缀名的文件
  17. 防静电手环在计算机中的功能,无线静电手环是怎样防静电的原理是什么
  18. 《Spring Boot 实战派》--13.集成NoSQL数据库,实现Elasticsearch和Solr搜索引擎
  19. moviepy音视频剪辑:多个视频合成一个视频
  20. 网站性能测试:使用Selenium测试网页加载时间

热门文章

  1. 前端学习(2739):重读vue电商网站49之第三方库使用CDN
  2. 前端学习(1174):repeat方法
  3. 前端学习(1107):函数进阶
  4. 前端学习(619):变量的小案例二
  5. 第八十七期:爬了知乎“沙雕问题”,笑死个人!
  6. 课外阅读(通讯技术的发展史)
  7. 实例34:python
  8. Mint-Ui的mt-search点击选中
  9. http get 消息的作用是什么?_http基础知识
  10. nodejs,express链式反应