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
中任意一个对象,就非常方便了。
vuex 对象嵌套属性的修改 mutations set 很方便的写法相关推荐
- 前端vue从后台取到数据(数组对象)后遍历给对象添加属性,修改这个属性为什么没有用?
1. 场景: 带有数据监听的框架都可,我用的是vue框架 从后台获取数组对象,想给对象添加只在前端用得上的属性如item_checked: false 2. 问题: 控制台输出该对象已经存在该属性了, ...
- 细说JavaScript中对象的属性和方法
最近在回家的路上读了尼古拉斯的新书<JavaScript面向对象精要>,发现自己对对象的属性和方法不是很熟悉,特别是es5新增的部分,特写此文总结一下,同时也与大家共勉. 本文分为两部分, ...
- 关于Spring纳管对象及属性注入的一点理解
1.@ComponentScan 扫描的范围里,包含@Component.@Controller.@Service(@Controller.@Service本质也是@Component)等注解的类会被 ...
- python 修改模板对象的属性_django小技巧之html模板中调用对象属性或对象的方法...
环境:依赖最初test2数据库 python3版本 多python版本环境 进入,python3虚拟环境,新建项目test4: ]# cd py3/django-test1/ ]# django-ad ...
- const 修饰的对象属性可以修改,但是修饰的常量就不可以修改
es6 const定义基本数据类型的变量是不可以修改,其它复杂数据类型(对象啊,数组啥的)是可以修改的 样例: <!DOCTYPE html> <html lang="en ...
- JQuery修改对象的属性值
JQuery修改对象的属性值 用到的便是JQuery提供的attr方法,获取属性值的基本结构为:$(obj).attr("属性名"):修改属性值的结构为:$(obj).attr(& ...
- 如何获取数组中嵌套对象中属性值不为空的对象?
如何获取数组中嵌套对象中属性值不为空的对象? 有一个对象数组如下: let arr = [ {id:1,aa:'aa1'}, {id:2,aa:'aa2',bb:{ cc:{dd:12} }}, {i ...
- javascript动态添加、修改、删除对象的属性和方法
上一节介绍了如何引用一个对象的属性和方法,现在介绍如何为一个对象添加.修改或 者删除属性和方法. 在其他语言中,对象一旦生成,就不可更改了,要为一个对象添加修改成员必须要在对 应的类中修改,并重新实例 ...
- unity获取游戏对象及修改游戏对象的属性,对于游戏对象的基本操作
一:unity获取游戏对象 1直接获取 2通过路径获取 3创建函数体 4根目录开始获取.先上后先获取 1.GameObject.Find只能发现激活的对象 2.transform.Find可以发现未激 ...
最新文章
- squid缓存服务器
- mac php7 mysql 扩展_升级到php7和安装拓展(mac centos)
- elementui 下拉框回显_element-ui 中el-select表单不回显和校验不通过的问题
- mysql got signal 11_mysql bug : mysqld got signal 11
- leetcode--116. 填充每个节点的下一个右侧节点指针
- ASP.NET4.5Web API及非同步程序开发系列(3)
- java操作elasticsearch实现前缀查询、wildcard、fuzzy模糊查询、ids查询
- Problem E: 分数统计
- pairwork2测试作业
- 动态组合sql语句详解
- Linux服务器异常关机,重启启动后weblogic无法启动
- 不用花钱,不用公网ip,用zerotier直接外网高速访问群晖,理论黑群晖白群晖都可以
- DelayQueue使用
- js第六、七天 Array、string
- 【leetcode】Reaching Points
- 在文件夹及其子文件夹内,批量提取相同后缀名的文件
- 防静电手环在计算机中的功能,无线静电手环是怎样防静电的原理是什么
- 《Spring Boot 实战派》--13.集成NoSQL数据库,实现Elasticsearch和Solr搜索引擎
- moviepy音视频剪辑:多个视频合成一个视频
- 网站性能测试:使用Selenium测试网页加载时间