首页IT科技VueSerialport(vue3.0中setup使用(两种用法))

VueSerialport(vue3.0中setup使用(两种用法))

时间2025-08-03 02:04:10分类IT科技浏览5378
导读: 这篇文章主要介绍了vue3.0中setup使用,本文通过两种用法给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...

         这篇文章主要介绍了vue3.0中setup使用               ,本文通过两种用法给大家介绍的非常详细                        ,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

一               、setup函数的特性以及作用

  可以确定的是 Vue3.0 是兼容 Vue2.x 版本的 也就是说我们再日常工作中 可以在 Vue3 中使用 Vue2.x 的相关语法 但是当你真正开始使用 Vue3 写项目时 你会发现他比 Vue2.x 方便的多

  Vue3 的一大特性函数 ---- setup

  1                        、setup函数是处于 生命周期函数 beforeCreate 和 Created 两个钩子函数之间的函数 也就说在 setup函数中是无法 使用 data 和 methods 中的数据和方法的

  2        、setup函数是 Composition API(组合API)的入口

  3               、在setup函数中定义的变量和方法最后都是需要 return 出去的 不然无法再模板中使用

二                       、setup函数的注意点

  1        、由于在执行 setup函数的时候        ,还没有执行 Created 生命周期方法               ,所以在 setup 函数中                       ,无法使用 data 和 methods 的变量和方法

  2        、由于我们不能在 setup函数中使用 data 和 methods        ,所以 Vue 为了避免我们错误的使用        ,直接将 setup函数中的this修改成了 undefined

  3                       、setup函数只能是同步的不能是异步的

用法1:结合ref使用

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

<template>

<div id="app">

{{name}}

<p>{{age}}</p>

<button @click="plusOne()">+</button>

</div>

</template>

<script>

import {ref} from vue

export default {

name:app,

data(){

return {

name:xiaosan

}

},

setup(){

const name =ref(小四)

const age=ref(18)

function plusOne(){

age.value++ //想改变值或获取值 必须.value

}

return { //必须返回 模板中才能使用

name,age,plusOne

}

}

}

</script>

用法2:代码分割

Options API 和 Composition API 

Options API 约定:

我们需要在 props 里面设置接收参数

我们需要在 data 里面设置变量

我们需要在 computed 里面设置计算属性

我们需要在 watch 里面设置监听属性

我们需要在 methods 里面设置事件方法

你会发现 Options APi 都约定了我们该在哪个位置做什么事                       ,这反倒在一定程度上也强制我们进行了代码分割               。

现在用 Composition API                ,不再这么约定了        ,于是乎                       ,代码组织非常灵活                ,我们的控制代码写在 setup 里面即可                        。

setup函数提供了两个参数 props和context,重要的是在setup函数里没有了this,在 vue3.0 中,访问他们变成以下形式: this.xxx=》context.xxx

我们没有了 this 上下文                       ,没有了 Options API 的强制代码分离        。Composition API 给了我们更加广阔的天地                        ,那么我们更加需要慎重自约起来               。

对于复杂的逻辑代码,我们要更加重视起 Composition API 的初心               ,不要吝啬使用 Composition API 来分离代码                        ,用来切割成各种模块导出                       。

我们期望是这样的:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

importuseAfrom./a;

importuseBfrom./b;

importuseCfrom./c;

exportdefault{

 setup (props) {

 let{ a, methodsA } = useA();

 let{ b, methodsB } = useA();

 let{ c, methodsC } = useC();

 return{

   a,

    methodsA,

    b,

    methodsB,

    c,

    methodsC

  }

 }

}

就算 setup 内容代码量越来越大        ,但是始终围绕着大而不乱               ,代码结构清晰的路子前进        。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
动手打人了怎么处理(李沐《动手学深度学习》d2l——安装和使用) 怎样通过网络赚钱呢(教你如何通过网络赚钱详解-怎么在网上赚钱 教你六种方法轻松赚钱)