1 如何封装组件
- 创建一个后缀名为.vue文件,由三部分组成:template模板写结构;style写样式,script写行为逻辑.在script用es6的export default导出.
- 在需要调用组件的地方用import导入.组件需要的参数,直接在调用的部分进行传递即可,主要逻辑还是在组件中完成.
2 computed和watch的区别 过滤器
computed是计算属性,可以根据data里的数据计算出新数据,这个新数据在data里并不存在,computed必须要有返回值,
watch是监听器,可以监听data数据的变化或路由里的属性改变,可以进行一些操作
过滤器本质是一个函数,可以对变量做一些特殊的处理.
3 v-show和v-if区别
v-show是通过css的display属性显示和隐藏
v-if是根据条件是否成立来决定是否创建元素
如果某个元素需要频繁切换显示,建议用v-show,因为频繁创建销毁DOM需要性能开销.
4 MVVM设计模式的理解 *
M是model数据层,V是view视图层,VM是view-model视图模型层.是一种框架的设计思想,vue就是基于MVVM来设计的.
model数据层负责初始化数据,view视图层负责页面展示,view-model视图模型层用来连接数据层和视图层,将数据层的数据传输给视图层展示页面,将视图层的操作传输到数据层进行持久化.
5 vue的生命周期
初始化阶段:只执行一次
beforecreate:开始初始化数据和方法,不可用
created:已经完成数据和方法的初始化,可用,
挂载阶段:只执行一次
beforemount:开始渲染虚拟DOM
counted:已经完成虚拟DOM的渲染,可以操作DOM
更新阶段:可执行多次
beforeupdate:数据即将被更新
updated:数据更新完毕
销毁阶段:执行一次
beforedestroy:vue实例即将被销毁,此时数据和方法可用
destroyed: vue实例已经销毁,数据方法不可用
6 vue插槽的理解
插槽分为匿名插槽,具名插槽,作用域插槽
通过插槽可以动态指定某一个组件模板部分的渲染,我们在调用组件的时候,在组件的调用标签里传递了什么样的标签结构,那么该组件就会把我们传递的标签结构放在他的模板部分进行渲染