-
vue2脚手架 ==> @vue/cli vue-cli;vue3使用
npm create vue
-
根实例
vue2
new Vue({ data: { 功能1数据, 功能2数据, 功能3数据 }, ... methods: { 功能1的函数 功能2函数 功能3函数 } })
vue3
createApp({ data: {}, ... })
-
vue2喜欢搭配vuex;vue3喜欢搭配pinia
vuex选项式API语法:
{ state: {}, mutations: {}, actions:{}, getters:{}, modules: {} }
pinia可以使用选项式API,也可以使用组合式API:
// 选项式 { state: {}, getters: {}, actions: {} } // 组合式 () => { return { 数据, getters, actions方法 } }
-
响应式设计的原理
MVVM ==> M(modle数据.) V(view视图) VM(viewmodle将数据和视图结合) ==> 实现了数据驱动视图
vue2使用数据劫持
vue3使用ES6的Proxy
-
生命周期
-
组件模板结构
- vue2要求必须要有一个根标签
- vue3组件中不用根标签
-
生命周期
- vue2生命周期钩子函数,包含8个:beforeCreate,created,beforeMounte,mounted,beforeUpdate,updated,beforeDestroy,destroyed
- vue3组合式API中,用的是setup语法,setup语法代替了beforeCreate,created,钩子函数的名称发生了一丢丢变化
-
v-for和v-if的优先级
在vue2中,v-for的优先级较高,v-if中可以使用v-for的变量
vue3中,v-if的优先级较高,v-if中不能使用v-for的变量
vue2和vue3在父子组件传值的时候,都是单向数据流,允许父将数据流向子,不允许子修改这个数据,避免影响到其他接收父数据的子组件。