造坑
在 vue 项目中,我们都知道对吸引人的莫过于数据的双向绑定。今天我要说的就是在数据绑定操作中遇到的问题。话不多说,上代码:
1 | <h5>互动记录</h5> |
主要需求就是根据enumsConfig.SysExpert.status中的key在不在expert_status_map[item]来高亮。
过程
当我在做这个组键的时候,是有编辑页面和添加页面公用同一个页面,所以在业务逻辑上面有一点分歧。首先,在需求上面,编辑页面的互动记录是点击每一个按钮,都调用一次接口。对数据进行操作。但是在添加页面的时候,只是最后一起把按钮选择的数据传过去。
重点是
expert_status_map需要一个类似这样的数据结构
1 | { |
- 然后我
data中存的expert_status_map数据是个空对象,所以传统的赋值this.expert_status_map[item] = []看似很成功,但是在操作的时候,发现虽然数据改变了,但是html高亮并没有发生变化。
解决
最后看了 vue 官方文档:

这样赋值:
1 | this.$set(this.expert_status_map, item, []); |
这样vue就能检测到数据的变化啦!