面试题

2019-11-19  本文已影响0人  Wxq_59f9

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是基于依赖进行缓存的, 一旦依赖发生了变化就会重新计算,             使用场景:一个数据受多个数据的影响 (购物车)

上一篇下一篇

猜你喜欢

热点阅读