一直想写一些什么,又不知道从什么地方写起,初入职场一年半的前端小白,权当是记录一些问题了
1. vue渲染时数据驱动界面未按照预期渲染的原因
a) 数据改变,界面没有按照预期渲染,vue的数据劫持的原理是由Object.defineProperty()实现的,我们直接对某个值赋值是不能被直接vue数据劫持监听的,为了解决这种场景,vue给我们处理数据提供了几种方案。
Vue.$set(data, 'propertyName', value)
Vue.$delete(data, 'propertyName')
或者是使用$forceUpdate()强制更新渲染数据
Vue.$forceUpdate()
b) v-for遍历template的时,重复渲染,界面是数据错乱的情况。初始循环是没有问题的,如果便利的对象更新,v-for重新渲染时,会进行diff比对,对于相同的key时不会重复渲染的,这个时候设置唯一的key就能解决这个问题,是一个很容易被忽略的地方。