1、v-show和v-if区别?
v-show判断节点是否隐藏
v-if 判断节点是否渲染
2、vue中key的作用?
1.唯一标识
2.高效更\新dom
3、assets和static的区别?
assets中的文件会经过webpack打包,重新编译,推荐该方式。而static中的文件,不会经过编译。项目在经过打包后,会生成dist文件夹,static中的文件只是复制一遍而已。简单来说,static中建议放一些外部第三方,自己的放到assets,别人的放到static中。
相同点:资源在html中使用,都是可以的。
不同点:使用assets下面的资源,在js中使用的话,路径要经过webpack中file-loader编译,路径不能直接写。
另一种说法
共同点:两个都是存放静态资源文件的
区别:
assets:存放的静态资源文件在项目打包时,压缩后的静态资源文件最终也会放在static文件中跟着index.html一同上传
static:static中 放置的静态资源文件就不会走打包压缩格式化等流程,而是直接进入打包好的目录,直接上传至服务器
4、computed 和 methods和watch区别?
(1)computed 计算属性 计算结果会缓存,只有当0依赖值改变才会重新计算
如果 computed 所依赖的数据发生改变时,计算属性才会重新计算,并进行缓存;当改变其他数据时,computed 属性 并不会重新计算,从而提升性能。
模板内表达式包含复杂逻辑时,应使用计算属性
只要计算属性使用的数据不发生变化,计算属性就不会执行,而是直接使用缓存
计算属性computed在使用时,一定要注意,函数里面的变量都会被监听,只要里面的某一个值变动,便会将整个函数执行一遍。 而 watch 只是监听某一个值,若是监听的值里面也有很多变量,也会全部监听# ★具有缓存性,页面重新渲染值不变化,计算属性会立即返回之前的计算结果,而不必再次执行函数
(2)watch 监听属性 一个值的改变 需要另一个值的改变而改变,结果不会缓存
监听 某个 数据,并根据改变得到的新值,进行某些操作。
可以监听路由参数的变化,计算属性做不到0
用于侦听变化较为频繁,开销较大的数据
监听的变量需要在data中进行定义;
#★ 无缓存性,页面重新渲染时值不变化也会执行例如:搜索功能{当我input发生变化,然后对input的值进行操作}
(3)methods 事件方法 调用一次,执行一次,结果不会缓存
网友评论