vue(九)vue3新特性
-
性能比Vue2强
-
可以将无用模块去掉,仅打包需要的
-
组合API
-
碎片(fragment),portal传送门(teleport),悬念(suspense)
-
更好的TS支持
-
暴露了自定义渲染API
setup()
-
在setup函数中声明对象,代替data()。ref声明简单对象,reactive
<template> <h3>{{ s1 }}</h3> <h3>{{ person.id }}</h3> </template> <script> import {ref,reactive} from "vue" export default { name: "App", setup(){ const s1=ref("s1111") const person=reactive({ id:1, name:"perter" }) return{ s1,person } } }
export default { name: "App", setup(){ function clickHandler() { console.log(111); } return{ clickHandler } } }
props代替vue2的props,具有同样的组件交互功能
setup(props,ctx){
}
-
-
渲染时:beforeMount、mounted(网络请求一般放在mounted中),调用改为 OnBeforeMount, OnMounted
-
更新时:beforeUpdate、updated,调用改为 OnBeforeUpdate, OnUpdated
-
卸载时:beforeUnmount(卸载之前,把消耗性能的处理都删掉)、unmounted,调用改为 OnBeforeUnmount, OnUnmounted
-
setup(){ OnMounted( ()=>{console.log("...")} ) }
provide()
和 inject()
可以实现嵌套组件之间的数据传递(上级向下级传递),不限制层级(跳过中间子组件)
父组件使用provide()向下传递数据,子组件使用 inject()获取上层传递过来的数据
// 父组件传递 setup(){ provide("msg","this is msg1") } // 子组件获取 setup(){ const msg=inject("msg") return{ msg } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具