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

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

时间2025-09-19 13:37:39分类IT科技浏览6331
导读: 这篇文章主要介绍了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
规则引擎 流程引擎(第2-4-2章 规则引擎Drools入门案例-业务规则管理系统-组件化-中台)