v-show 和 v-if区别
基本差别:
1:v-if动态创建标签,如果在初始渲染时条件为假,则什么也不做——直到条件第一次变为真时,才会开始渲染条件块。
:v-show通过css中的display来动态控制显示或隐藏,不管初始条件是什么,元素总是会被渲染
使用场景:
1:v-show一般会用在切换比较频繁, v-if切换不频繁的
vue中key的作用
1 .index值不是一定不变的,如果不加key值的话,删除前面的项。后面的index可能变也可能不变,比如加个定时器的时候会变,不加定时器不会变
2 .不加key的话,更新机制的进行diff的时候是会全部比较的,比如删除第一个的话,后面的元素其实都不一样,会一项一项的比较。然后全部元素都替换,没有做到最小更新。而且里面的传的值也会变,如果这个时候你要根据里面的值删除元素的话,就会出错,尤其是加了定时器之后
3 .所以这个key值对数据改变之后的diff更新比较有很大的性能提升,或者说有了key和没有key是两种比较和更新机制
4 .使用v-for更新已渲染的元素列表时,默认采用旧地复用策略,会复用之前的元素,有的时候使用index来做为key值,其实不是特别推荐的。可能会发生变化,最好是时间戳加上一个自增的数字
5 .如果有key的话,就会根据key值去判断某个是否修改,重新渲染这一项
6 .虚拟dom的diff算法
assets和static的区别
共同点:
两个都是存放静态资源文件的
区别:
assets:存放的静态资源文件在项目打包时,压缩后的静态资源文件最终也会放在static文件中跟着index.html一同上传
static:static中 放置的静态资源文件就不会走打包压缩格式化等流程,而是直接进入打包好的目录,直接上传至服务器
computed 和 watch的区别
1:watch监听某个变量 ,一旦发生变化就会触发watch ,一个新值和一个旧值, 使用场景:异步操作或者开销较大时使用watch更加合适
2:component是基于依赖进行缓存的, 一旦依赖发生了变化就会重新计算, 使用场景:一个数据受多个数据的影响 (购物车)
网友评论