Vue3中其他的改变

news/2024/7/10 2:54:22 标签: vue

文章目录

  • vue2 和 vue3生命周期对比
  • 全局API的转移
  • 其他改变

vue2__vue3_1">vue2 和 vue3生命周期对比

在这里插入图片描述
在这里插入图片描述
图片来源

注意观察最后 beforeDestroydestroyed 改为了 beforeUnmountunmounted

与 2.x 版本生命周期相对应的组合式 API

  • beforeCreate -> 使用 setup()

  • created -> 使用 setup()

  • beforeMount -> onBeforeMount

  • mounted -> onMounted

  • beforeUpdate -> onBeforeUpdate

  • updated -> onUpdated

  • beforeDestroy -> onBeforeUnmount

  • destroyed -> onUnmounted

  • errorCaptured -> onErrorCaptured

全局API的转移

Vue2.x有许多全局API和配置,例如:注册全局组件,注册全局指令等

//注册全局组件
Vue.component('myButton',{
    data:()=>({
        count:0
    }),
    template:'<button @click="count++'>Clicked{{count}}</button>'
})
//注册全局指令
Vue.directive('focus',{
    inserted:el=>el.focus()
})

Vue3 中对这些API做出了调整,即Vue.xxx调整到应用实例(app)上

2.x全局API(Vue)3.x实例API()APP
Vue.config.xxxapp.config.xxx
Vue.config.productionTip移除
Vue.componentapp.component
Vue.directiveapp.directive
Vue.mixinapp.mixin
Vue.useapp.use
Vue.prototypeapp.config.globalProperties

其他改变

  • data 选项应始终声明为一个函数
  • 过渡类名的修改

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;
}
  • 移除了 keyCode 作为 v-on 的修饰符,同时也不再支持 config.keyCodes
  • 移除 v-on.native 修饰符

父组件中绑定事件

<my-component 
v-on:cloce="handleComponentEvent" 
v-on:click="handleNativeClickEvent" />

子组件中声明自定义事件

<script>
	export default({
		emits: ['close']	
	})
</script>
  • 移除过滤器(filter),用方法调用或计算属性替换过滤器

过滤器虽然这看起来很方便,但它需要一个自定义语法,打破大括号内表达式是“只是JavaScript”的假设,这不仅有学习成本,而且有实现成本!建议用方法调用或计算属性去替换过滤器

2022.4.20晚21:10 刷完。下一个系列开始了。


http://www.niftyadmin.cn/n/1816667.html

相关文章

Python实现QQ模拟登录

用了pyautogui库&#xff0c;扩展参数confidence依赖opencv-python库 然后用py2exe打包成可执行文件即可。 可执行文件说明源码下载 提取码: utt9 pyautogui这个库真的很简单&#xff0c;几乎只需要会英语就OK了。 import pyautogui as pg from time import sleepwith open(&q…

【ES6】let、const、解构赋值、模板字符串

文章目录let 关键字const 关键字解构赋值模板字符串ES6学习&#xff1a;尚硅谷Web前端ES6教程&#xff0c;涵盖ES6-ES11ES6 入门教程 阮一峰let 关键字 【特性】 let 关键字用来声明变量&#xff0c;使用 let 声明的变量有几个特点&#xff1a; 不允许重复声明&#xff1b;块…

jquery.min.map详见

温故而知新&#xff0c;翻出来阮前辈的文章记录一下 日期&#xff1a;2013年1月23日 上周&#xff0c;jQuery 1.9发布。 这是2.0版之前的最后一个新版本&#xff0c;有很多新功能&#xff0c;其中一个就是支持Source Map。 访问 http://ajax.googleapis.com/ajax/libs/jquer…

部分undefined reference to `__imp_XXXX‘错误解决方案

今天临时又用到函数mciSendString、PlaySound&#xff0c;编译报错undefined reference to __imp_XXXX&#xff0c;一下子没想起来怎么解决。 在正常使用的情况下是这样&#xff1a; 对于VS2019&#xff0c; 有效解决方案是&#xff1a;在头文件后#pragma comment(lib,"…

【ES6】对象方法简化写法、箭头函数、参数默认值、rest参数

文章目录简化对象和函数写法箭头函数参数默认值rest 参数简化对象和函数写法 【介绍】 ES6 允许在大括号里面&#xff0c;直接写入变量和函数&#xff0c;作为对象的属性和方法。这样的书写更加简洁 let name "张三";let talk function () {console.log("你…

详解C语言实现植物大战僵尸阳光9999

文章目录效果展示工具&#xff1a;要求(建议)一、CE部分&#xff1a;二、核心代码部分三、润色效果展示 另外点击还会有"德玛西亚&#xff01;"音效 工具&#xff1a; 核心代码&#xff1a;Devcpp足够&#xff1b; 对话框界面和资源文件的添加&#xff1a;CodeBloc…

【ES6】扩展运算符、symbol、迭代器

文章目录扩展运算符symbol迭代器扩展运算符 【代码示例】 ...扩展运算符能将数组转换为逗号分隔的参数序列 未使用扩展运算符时 const fruits ["西瓜", "草莓", "芒果"];function data() {console.log(arguments);}data(fruits)使用扩展运算…

Repeater,DataList控件

Repeater: 其格式. <html> <body> <form runat"server"> <asp:Repeater id"cdcatalog" runat"server"> <HeaderTemplate> ... </HeaderTemplate> <ItemTemplate> ... </ItemTemplate> <Foot…