注意观察最后 beforeDestroy和destroyed 改为了 beforeUnmount和unmounted
与 2.x 版本生命周期相对应的组合式 API
Vue2.x有许多全局API和配置,例如:注册全局组件,注册全局指令等
//注册全局组件
Vue.component('myButton',{data:()=>({count:0}),template:''
})
//注册全局指令
Vue.directive('focus',{inserted:el=>el.focus()
})
Vue3 中对这些API做出了调整,即Vue.xxx调整到应用实例(app)上
| 2.x全局API(Vue) | 3.x实例API()APP |
|---|---|
| Vue.config.xxx | app.config.xxx |
| Vue.config.productionTip | 移除 |
| Vue.component | app.component |
| Vue.directive | app.directive |
| Vue.mixin | app.mixin |
| Vue.use | app.use |
| Vue.prototype | app.config.globalProperties |
Vue2.x 写法
.v-enter,
.v-leave-to {opacity: 0;
}
.v-leave,
.v-enter-to {opacity: 1;
}
Vue3.x的写法
.v-enter-from,
.v-leave-to {opacity: 0;
}
.v-leave-from,
.v-enter-to {opacity: 1;
}
config.keyCodes父组件中绑定事件
子组件中声明自定义事件
过滤器虽然这看起来很方便,但它需要一个自定义语法,打破大括号内表达式是“只是JavaScript”的假设,这不仅有学习成本,而且有实现成本!建议用方法调用或计算属性去替换过滤器