设计模式 MVP和MVVM
1. MVP
view: 视图层,页面中的DOM展示
model: 数据层(ajax)
presenter:呈现层,业务逻辑相关的控制层,中代码多在控制DOM
2. MVVM
model:存储数据
vm:vue自带的,可以监听数据(model)/视图(view)变化,通过Object.defineProperties和引入虚拟DOM,实验了vm机制
优点:面向数据进行编程,使用Mvvm在大型项目开发中,可以减少代码量,比MVP(面向DOM)的要少30%,
因此MVVM不需要操作DOM
3. 生命周期钩子
https://blog.csdn.net/gao_xu_520/article/details/80915400
beforeCreate:function () {
alert("组件实例化之前执行的函数");
},
created:function () {
alert("组件实例化完毕,但页面未显示");
},
beforeMount:function () {
alert("组件挂在前,页面仍未展示,但虚拟DOM已经配置");
},
mounted:function () {
alert("组件挂在后,此方法执行后,页面显示");
},
beforeUpdate:function () {
alert("组件更新前,页面仍未更新,但虚拟DOM已经配置");
},
updated:function () {
alert("组件更新,此方法执行后,页面显示");
},
beforeDestroy:function () {
alert("组件销毁前");
},
destroyed:function () {
alert("组件销毁");
}
4. 防抖节流
https://blog.csdn.net/qq_41000891/article/details/82733532
https://blog.csdn.net/ligang2585116/article/details/75003436
5. vuex中 state,mapState,...mapState对象展开符详解
https://blog.csdn.net/dkr380205984/article/details/82185740
6. vuex中的getters
作用:有点类似computed的作用,当要根据state的数据算出新数据时用,避免冗余
7. vuex中Module
大型项目时,可以通过模块进行创建,例如管理后台系统时
可对Mutations|state|actions进行拆分,最后进行整合
8. 父组件向子组件传值
https://www.jianshu.com/p/422ea3ade83b
9. keep-alive
在给路由外部包裹keep-alive标签时,路由被加载的东西只要加载一次,便会被放在内存中,再次重新加载,直接从内存中读取,
当使用这个标签时,会多出一个生命周期函数:activated,其在页面重新被显示时就会被执行。与activated对应的另外一个生命周期函数是deactivated,在页面即将被隐藏,或者页面即将被替换成新的页面时,会被执行