一、请描述下vue的生命周期是什么
- beforeCreate:在实例初始化之后,数据观测和事件配置之前被调用。
- created:在实例创建完成后被调用。
- beforeMount:在挂载开始之前被调用。
- mounted:被新创建的vm.$el替换,并挂载到实例上去之后调用该钩子。
- beforeUpdate:数据更新时调用,发生在虚拟DOM打补丁之前。
- updated:由于数据更新导致的虚拟DOM重新渲染和打补丁,在这之后会调用该钩子。
- beforeDestroy:实例销毁之前调用。
- destroyed:实例销毁后调用。
二、说下你对指令的理解
指令就是把操作DOM的方法糅合为一条命令。
三、v-show和v-if有什么区别?使用场景分别是什么
区别:
v-if:判断是否加载,可以减轻服务器的压力,在需要时加载。
v-show:调整css display属性,可以是客户端操作更加流畅。
场景:
v-if:,适合一次性或操作少的时候
v-for:预渲染需求,需要频繁切换显示状态
v-if和v-for的优先级是什么?如果这两个同时出现时,那应该怎么优化才能得到更好的性能
v-for 的优先级更高
避免出现这种情况,如果实在需要,则在外嵌套template,在这一层进行v-if判断,然后在内部进行v-for循环,避免每次只有v-if只渲染很少一部分元素,也需要遍历同级的所有元素
四、谈谈对MVC、MVP和MVVM的理解
详解:https://www.cnblogs.com/keitsi/p/5764785.html
五、 怎么使css样式只在当前组件中生效
在style上面写 scoped
六、 v-for循环中key有什么作用
帮助vue区分不同元素,从而提高性能