Vue3.2 语法基础详解

前言

官网地址:https://staging-cn.vuejs.org/

vue最新版分为两个版本: Vue3.0(20年9月18日) Vue 3.2 (21年8月10日)

#Vue 3.2 +Vite+volar

Vue3 框架做了大量的性能优化,包括虚拟 DOM,编译模板、代理的新数据监听,体积更小的打包文件等。

新的组合式 API (composition-api),更适合大型项目的构建,去除繁琐的 this 操作;

由于是基于 TypeScript 编写,对 TypeScript 原生支持更好,更强大的智能类型推导功能;

生命周期的一些改变,vue2 中的 beforeCreate 和 created 被一个新增的 setup 生命周期函数代替;

一些常见 API 如 v-model 的变化,支持对一个组件同时进行多个 v-model 的数据绑定。

vscode 的插件 vetur 对vue3 的composition API语法支持度非常弱,所以开发vue3项目需要将vetur禁用 更换另一个插件

开发vue3安装并使用: volar 插件

#1.项目创建

Vite 官网:https://cn.vitejs.dev/

yarn create vite my-vue-app –template vue

#2.SFC 单文件组件

html 部分变化不大

vue2的 template 中只能有一个子节点,vue3的 template 中可以写多个子节点

js 部分内置ts,但是vite创建的项目没有开启 , .box{ width: 100px; height: 100px; background: v-bind(color);}

#2. setup语法糖

起初 Vue3.0 暴露变量必须 return 出来,template中才能使用; 这样会导致在页面上变量会出现很多次。

vue3.2只需在script标签中添加setup,可以帮助我们解决这个问题。

1.组件只需引入不用注册,属性和方法也不用返回, 也不用写setup函数,也不用写export default , 甚至是自定义指令也可以在我们的template中自动获得。

#3.data 定义

#3.1 直接定义 无响应式

{{name}}

#3.2 ref 定义基本数据类型 有响应式

{{name}}

修改数据

#3.3 reactvie 定义引用数据类型 有响应式

{{user.name}}

新增属性

#4.methods 方法定义

{{user.age}}

年龄+

#5.computed 计算属性

#6.watch 使用

watch(监听数据源,执行函数,[配置参数]) //配置参数: 立即执行 深度监听{immediate: true, deep: true }

#6.1 监听基本数据类型单一数据源

#6.2 监听引用数据类型单一数据源

#6.3 监听引用数据类型 多数据源[深度监听]

添加随机数 {{ item }}

#7.生命周期

vue2

vue3.0

vue3.2

备注

beforeCreate

setup

组件创建之前 可以获取顶级实例对象

created

setup

组件创建完成,可以获取变量

beforeMount

onBeforeMount

挂载前,VNdom创建完成,真实dom未渲染

mounted

onMounted

挂载完成,真实dom创建完成,可以获取dom

beforeUpdate

onBeforeUpdate

dom更新前触发

updated

onUpdated

dom更新完成触发

beforedestroy,destroyed

beforeUnmount

onBeforeUnmount

组件卸载后触发 所有的挂载的数据 子组件全部卸载后触发

errorCaptured

onErrorCaptured

在捕获一个来自后代组件的错误时被调用

renderTracked

onRenderTracked

跟踪虚拟 DOM 重新渲染时调

renderTriggered

onRenderTriggered

当虚拟 DOM 重新渲染被触发时调用

activated

activated

onActivated

缓存组件激活时调用

deactivated

deactivated

onDeactivated

缓存组件失活时调用

#8.组件使用

  • 创建 src/components/Son.vue
  • App.vue中导入并使用该组件
  • vue3.2 中当我们导入子组件时,setup语法糖会自动去注册该组件,所以注册语句不用写了。

#9.组件通信

#9.1 父传子 defineProps

  • 父组件
  • 子组件

#9.2 子传父 defineEmits

  • 子组件

传递数据

  • 父组件
郑重声明:本文内容及图片均整理自互联网,不代表本站立场,版权归原作者所有,如有侵权请联系管理员(admin#wlmqw.com)删除。
(0)
用户投稿
上一篇 2022年8月9日
下一篇 2022年8月9日

相关推荐

  • Web前端:Web应用程序的组件指南

      在web应用程序开发的世界中,有许多人们正在追随的技术趋势,选择最适合你企业的技术可以让你的企业赢得长远发展。技术栈是用于web应用程序开发的语言和工具组合的术语,要理解web…

    2022年7月21日
  • 国外的软件内存仅仅几兆,中国却几G?

    国外的软件,不管是启动速度还是过渡画面都远远优于国产软件。而国内的软件APP往往集成了一大堆我们根本不用的插件,占用后台进程,让app非常庞大,导致app吃手机性能,使得我们国家的…

    2022年7月26日
  • 小白学习日记:惠普1020PLUS激光打印机,打印完成皱纸维修教程

    学到就是赚到,求人不如求己~我是“ @打印机小助手 ”让你更懂如何使用你的打印机。 号称神机的惠普P1020plus,黑白激光打印机维修历程二。 是的这台打印99999999页神机…

    2022年6月23日
  • 光伏上游这一领域,打破海外技术垄断,供需紧平衡打开上升空间

    “认知,是人与人之间难以逾越的鸿沟;投资是认知的变现!” 5月反弹行情以来,新能源赛道持续火爆,新能源汽车、光伏、风电等整个产业链都被市场挖了个遍,尤其是光伏产业链,股友们更是几乎…

    2022年7月5日
  • 总结下SpringData JPA 的常用语法

    SpringData JPA常用有两种写法,一个是用Jpa自带方法进行CRUD,适合简单查询场景、例如查询全部数据、根据某个字段查询,根据某字段排序等等。另一种是使用注解方式,@Q…

    2022年6月18日
  • 引入新型监管框架,拧紧金融科技安全阀

    来源:科技日报 原标题:引入新型监管框架,拧紧金融科技安全阀 近年来,随着金融科技的不断深化,金融机构之间的边界日渐模糊、金融科技风险事件频发,对传统框架中各监管机构的数据共享能力…

    2022年6月16日
  • Elasticsearch基础及RESTful方式操作,一看就会

    1. 关于Elasticsearch Elasticsearch是一个实时的分布式搜索和分析引擎。能用较快的速度去处理大规模数据。 ElasticSearch是一个基于Lucene…

    2022年8月29日
  • 吉大通信确定中标中国移动8889.56万元项目 持续赋能数智化建设

    6月15日晚,吉大通信(300597.SZ)发布中标进展公告,宣告其确定中标中国移动采购项目,预计中标份额基础规模服务费折后约为8889.56万元(含税,下同)。值得注意的是,由于…

    2022年6月19日
  • 北京环球诺金酒店:一隅静谧,一处桃源 – 顺景园林

    顺景园林参与建设的北京环球度假区项目涉及公共交通、休闲广场、特色商业街区、主题乐园、度假酒店等多种景观类型。有别于环球的娱乐体验风格,北京环球诺金酒店作为环球唯一配套的五星级酒店,…

    2022年8月12日
  • 48 小时做成一部游戏?简单,我做了好几次呢

    48 小时内做出一款游戏?大多数人都会觉得不可思议。 我猜,那是因为他们一想到“游戏”,就会浮现出体量庞大、玩法复杂的“3A 大作”或是手机上精巧、细腻的商业手游。 但其实,游戏并…

    2022年7月4日

联系我们

联系邮箱:admin#wlmqw.com
工作时间:周一至周五,10:30-18:30,节假日休息