自定义指令的区别:
vue2的写法:
Vue.directive('scroll', {}) //scroll是指令名称
vue3的写法:
定义全局的:在main.js文件中定义:
createApp(App).directive("hello",{
}).use(store).use(router).mount('#app')
定义局部的:在vue文件中定义:
<script>
export default {
data(){
return {
myname: 'yiyi',
// mytext:''
}
},
//局部自定义指令
directives:{
hello:{
mounted(){
console.log("mounted")
}
}
}
}
</script>
指令生命周期的区别:
vue2:inserted
vue3:指令的生命周期约等于组件的生命周期
具体内容请看官方文档:
vue2:Vue 实例 — Vue.js
vue3:自定义指令 | Vue.js
过滤器:
vue2:支持filter过滤器:
<div>{{filmInfo.premiereAt | dateFilter}}上映</div>
Vue.filter('dateFilter', (date) => {
})
vue3:不支持filter过滤器,那就用函数写法:
<div>{{handleactors(detaillist.actors)}}</div>
methods:{
handleactors(actors){
return {
console.log("11111")
}
}
}
路由重定向的写法:
vue2:
{
path:'*',
redirect:'/film'
},
vue3:
const routes = [
{
path:'/film',
component:FilmView,
name:'film'
},
//重定向,优先级最低,只有没有路径了,才会用
{
path:'/',
redirect:{
name:'film' // 命名路由写法
}
},
]
重定向path路径:'/'含义是:只要是在"localhost:8080/" 下就会重定向到“/film”路径下,显示这个组件下的内容。
vant使用:
vue3:use(vant)必须在mount前一个
函数写法:(vue3新增的函数写法)
vue:没有函数写法,只有类写法,像 "this." 就是类写法;
vue3:新增了函数写法,也支持类写法;
(1)定义状态和函数:
https://blog.csdn.net/a1598452168YY/article/details/128287042?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22128287042%22%2C%22source%22%3A%22a1598452168YY%22%7D
(2)ref新增用法:
vue3中ref的作用及ref和reactive之间的转化_陌一一的博客-CSDN博客
(3)生命周期: