当前位置:首页 > 技术分析 > 正文内容

一文教你学会vue3常用语法!

前言

Vue3 发布于2020年9月18日。相对于 Vue2,Vue3 在性能上有很大提升。

Vue3 目前是国内极具流行的前端框架,现在你去找前端工作,一般的公司都要求你会用 Vue3。

那相对于 Vue2,Vue3在语法上有哪些改变呢?

其实熟悉 Vue2 开发流程的都清楚:Vue2 使用起来相对固定,都是在 data 函数里面写数据 ,在 methods 函数里面写方法。

而 Vue3 将数据和方法糅合在一起,也就是将业务代码放在一块,便于你维护。

其实要我说,写习惯了都一样,代码的尽头还是复制粘贴。。。

1.生命周期

Vue3 的生命周期函数主要有 7 个:

1.setup:开始创建组件之前,在 beforeCreate 和 created 之前执行,创建的是 data 和 method。

2.onBeforeMount:DOM 挂载之前。

3.onMounted:DOM 挂载之后。

4.onBeforeUpdate:组件更新之前。

5.onUpdated:组件更新之后。

6.onBeforeUnmount:组件卸载之前。

7.onUnmounted:组件卸载之后。

在实际开发中经常用到的就是 onMounted,比如进入列表页面获取列表数据。

2.setup函数

setup 函数是 vue3 中很重要的组件,相当于生命的起点。Vue3 中其他组件或者函数必须被包含在 setup 函数中。

而且定义的变量或者函数、必须要通过 return暴露出来,不然在 template 中没法使用。

从这里你也看出痛点了:如果定义的变量和函数太多,return 起来比较麻烦。

<script >
  setup () {
    const message = '我是知否君'
    const num = ref(10)
    
    return { num,message }
  }
</script>

所以 Vue3.2 之后做了改变:

只用在 script 标签中添加 setup,不用写 setup 函数,不用 return,我们也能在 template 中使用。

3.ref函数

ref 函数用来将简单数据类型定义为响应式数据。

注意:vue 中的响应式指的是你在 script 标签中修改了变量的值,template 中该变量的值会立即改变,对应的页面上变量的值也会立即改变。

修改值: 变量.value

// ref函数,将简单数据类型定义为响应式数据,修改值的时候,需要.value
let poet = ref("李白");
const changePoet = () => {
  poet.value = "杜甫";
};

4.toRef函数

toRef 函数可以将对象中某个属性定义为单独的响应式数据

let user = reactive({
  name: "张无忌",
  age: 12,
});

// toRef 函数可以将对象中某个属性定义为单独的响应式数据
const name = toRef(user, "name");
const changeName = () => {
  name.value = "赵敏";
};

5.toRefs 函数

toRefs函数用来将对象中所有属性变为响应式数据

let user = reactive({
  name: "张无忌",
  age: 12,
});
// toRefs函数用来将对象中所有属性变为响应式数据
const refUser = toRefs(user);
const changeRefAge = () => {
  refUser.age.value = 18;
};

6.reactive函数

reactive 是一个函数,它可以将复杂数据类型变成响应式数据。

// reactive是一个函数,它可以将复杂数据类型变成响应式数据。
let user = reactive({
  name: "知否君",
  age: 23,
});

7.computed

computed 用来定义计算属性。

// computed 计算
const newPoet = computed(() => {
  return poet.value + ",白居易";
});

8.watch

watch 函数是监听器,用来监听变量的变化。

// watch 监听
watch(user, () => {
  console.log("user改变了");
});
watch(
  () => user.age,
  () => {
    console.log("age改变了");
  }
);

扫描二维码推送至手机访问。

版权声明:本文由ruisui88发布,如需转载请注明出处。

本文链接:http://www.ruisui88.com/post/4214.html

标签: vue3 深拷贝
分享给朋友:

“一文教你学会vue3常用语法!” 的相关文章

给大家分享几个漂亮的 Arch Linux 发行版

ArchLinux是一款备受欢迎的、面向技术爱好者和Linux专业人士的发行版。它以其简洁、灵活和高度可定制的特点而闻名,但对于一些人来说,配置和设置ArchLinux可能会有一些挑战。为了方便那些希望快速入门并且喜欢漂亮外观的人,我们想分享几个令人赞叹的ArchLinux发行版,它们提供了美观的界...

Gitlab概览

Gitlab是开源的基于Git的仓库管理系统,也可以管理软件开发的整个生命周期,是项目管理和代码托管平台,支撑着整个DevOps的生命周期。Gitlab很容易选为GitHub,作为公司私有库管理的工具。我们可以用Gitlab Workflow来协同整个团队的软件开发管理过程。软件开发阶段Gitlab...

全新斯柯达柯珞克Karoq深度评测:大众替代品

“斯柯达柯珞克是一款出色的全能家庭 SUV,具有许多有用的功能”价格36,605 英镑- 49,190 英镑优点方便的 VarioFlex 后排座椅非常适合家庭入住驾驶乐趣缺点保修期短保守的内饰性格比Yeti少结论——斯柯达柯珞克是一辆好车吗?斯柯达柯珞克是在辉煌的七座 斯柯达柯迪亚克之后推出的,因...

Vue真是太好了 壹万多字的Vue知识点 超详细!

1??、Vue和其他两大框架的区别Angular 学习成本太高React 代码可读性差Vue 学习成本较低 很容易上手VUE官方: https://cn.vuejs.org/v2/guide/comparison.html?2??、Vue是什么Vue是一套用于构建用户界面的渐进式框架 "前端...

vue2中路由的使用步骤,你学会了吗?

今天我们来整理下关于vue2中路由的使用步骤:1. 导入 vue 文件和Vue-router文件(注意:vue-router是依赖vue运行的,所以一定在vue后引入vue-router)2. 定义路由组件模板3. 创建路由实例并定义路由规则4. 将路由实例挂载给Vue实例5. 在结构区域定义控制路...

深入理解vue-router原理

说到vue-router就表明他只适合于vue和vue是强绑定的关系;不适合其他框架;现在我们模仿实现一个VueRouter;1.要使页面刷新;借助vue本身的响应式原理;import Home from "./views/Home"; import About from "...