Vue2到Vue3,一些被废弃的特性

 0 0条评论

1、transition 类名变更

在Vue2中,transition 组件,可以给任何元素和组件添加进入/离开过渡,内置的过渡类名分别有:

v-enter:作用于开始的一帧。

v-enter-active:作用与整个过程。

v-enter-to:作用于结束的一帧。

v-leave:离开过渡的开始状态,作用于开始的一帧。

v-leave-active:作用于离开的整个过程。

v-leave-to:作用于离开的最好一帧。

//使用案例:
<template>
 <transition name="fade" >
  <div class="chart" v-if="show"></div>
 </transition>
</template>
<style>
 .chart{
  width:500px;
  height:200px;
  background:lightcoral;
}
.fade-enter-active,.fade-leave-active{
 transition: all 0.3s ease;
}
.fade-enter,.fade-leave-to{
  opacity:0
}
.fade-enter-to,.fade-leave{
  opacity:1
}     
</style>

在 Vue3 中 transition 类名变更有,其他用法不变,就是类名更改了一下,官网链接

v-enter --> v-enter-from

v-leave --> v-leave-from

2、Event api 被移除

2.1、keyCode作为 v-on 的修饰符被移除

在vue2 中,使用 keyCode 指代某个键,如:

<input @keyup.13="submit" type="text" > 

回车键盘弹起时执行 submit 事件。

而 vue3 不再支持,只能使用别名的方式,将keyCode替换成它的别名,更为详细的别名,参考官网

<input @keyup.enter="submit" type="text" > 

2.2、$on、$off 和 $once 被移除

$on 用于兄弟组件之间的数据传输。如:

//组件A
postValue(){
 Event.$emit('aevent','传递的值')
}

//组件B
mounted(){
 Event.$on('aevent',(val)=>{
   //val就是传递过来的值
 })
}

$off 是移除自定义事件的监听

postValue(){
 this.$emit('aevent','传递的值')
 this.$off('aevent',()=>{
  //移除监听器成功的回调,可加可不加
 })
}
// 父组件的 @aevent 中的事件只会执行一次

$once 监听一个自定义事件,但是只能触发一次,一旦触发后,监听器就会被移除。

<button @click.once="handleClick"></button>

在Vue3中,被认为不应该由 vue 提供,因此被移除了可以,可以使用其他的三方库实现。如mitt.js。

3、根容器区别

innerHTML 与 outerHTML 的区别

innerHTML 从开始到结束的全部内容,不包含 html 标签 ,而 outerHTML 包含标签。

vue2 与 vue3 根容器区别

vue2 中应用程序根容器的 outerHTML 会被根组件的模板替换,或编译为模板。

vue3 中使用根容器的 innerHTML取代,作为模板。

可以给 <div id="app"></div> 添加一个类名,查看元素就可以看出来。

4、filter 过滤器被移除

在Vue2中,过滤器分为两种:局部过滤器 和 全局过滤器。

全局过滤器:

Vue.filter( 'dFor', msg => {
 return msg.replace(/AA/g,'xxxxxx')
})

局部过滤器:

export default {
 filters:{
  dataFormat(s){
   return s+'aaa'
  }
 }
}

全局和局部过滤器相同名时,就近原则,使用局部过滤器,一个表达式可使用多个过滤器,使用"|"隔开,按顺序执行。

但是在vue3中,将 filter 移除后,推荐使用计算属性来展示,还可以全局注册过滤计算属性。

5、watch 监听器改变

组件的 watch 选项和实例方法 $watch 不再支持点分割字符串路径,可以使用计算函数作为 $watch 参数实现

this.$watch(()=>{
	
},()=>{

})

本文作者:双黑

版权声明:本站文章欢迎链接分享,禁止全文转载!

游客