vue 中的 data
- Vue组件可能存在多个实例,如果使用对象形式定义data,导致多个data对象会冲突,采用函数形式,在initData时作为工厂函数会返回全新data对象,避免多个实例直接状态污染。
- 根实例只存在一个,不需要担心这种情况。
vue中的key
如果列表中数据不发生变化设置key起不到作用,比如查询列表。
优点:
高效的更新虚拟DOM,原理是vue在patch过程中通过key可以精准判断两个节点是否是同一个,避免频繁更新不同元素,减少dom操作,提高性能。
缺点:
若不设置key可能在列表更新时隐藏一些隐藏bug (如控制台报错)