位置: IT常识 - 正文

vue3.0中setup使用(两种用法)(vue set up)

编辑:rootadmin
vue3.0中setup使用(两种用法)

推荐整理分享vue3.0中setup使用(两种用法)(vue set up),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vue setup ref,vue3.0的setup()函数,vue3 setup有什么用,vue3 setup作用,vue3 setup script,vue setup ref,vue3.0 setup,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

  }

vue3.0中setup使用(两种用法)(vue set up)

 }

}

</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 内容代码量越来越大,但是始终围绕着大而不乱,代码结构清晰的路子前进。

本文链接地址:https://www.jiuchutong.com/zhishi/297268.html 转载请保留说明!

上一篇:vue踩坑--background-image路径问题(vue backbone)

下一篇:JavaScript实现留言板(javascript保留字有哪些)

  • 这10个程序化营销关键词,2017年你一定要记住(程序化例子)

    这10个程序化营销关键词,2017年你一定要记住(程序化例子)

  • 华为手机如何省电设置方法(华为手机如何省电设置方法视频)

    华为手机如何省电设置方法(华为手机如何省电设置方法视频)

  • OPPO手机的耳机模式怎么关闭(oppo手机的耳机孔)

    OPPO手机的耳机模式怎么关闭(oppo手机的耳机孔)

  • 荣耀x10耳机孔在哪(荣耀x10耳机孔在哪个位置)

    荣耀x10耳机孔在哪(荣耀x10耳机孔在哪个位置)

  • 电脑如何下载excel(电脑如何下载EXCEL客户端)

    电脑如何下载excel(电脑如何下载EXCEL客户端)

  • 苹果6无法检查更新怎么办(苹果6无法检查软件更新)

    苹果6无法检查更新怎么办(苹果6无法检查软件更新)

  • 微信号系统评估中是什么意思(微信账号安全评估)

    微信号系统评估中是什么意思(微信账号安全评估)

  • 关闭优化iphone储存空间(苹果手机怎么关闭系统优化储存)

    关闭优化iphone储存空间(苹果手机怎么关闭系统优化储存)

  • 搜狗输入法全屏打字看不见选字框怎么办(搜狗输入法全屏手写怎么改为半屏手写)

    搜狗输入法全屏打字看不见选字框怎么办(搜狗输入法全屏手写怎么改为半屏手写)

  • 信号显示4g+是什么意思(手机信号显示4gr)

    信号显示4g+是什么意思(手机信号显示4gr)

  • 无线网上行线路没有激活什么意思(无线网上行线路没有激活是欠费了吗)

    无线网上行线路没有激活什么意思(无线网上行线路没有激活是欠费了吗)

  • 抖音极速版不能发作品吗(抖音极速版不能切换账号吗)

    抖音极速版不能发作品吗(抖音极速版不能切换账号吗)

  • 华为手机卡槽怎么放卡(华为手机卡槽怎么取出来)

    华为手机卡槽怎么放卡(华为手机卡槽怎么取出来)

  • 抖音视频删除重发受影响吗(抖音视频删除重新发)

    抖音视频删除重发受影响吗(抖音视频删除重新发)

  • 华硕atk怎么安装(华硕笔记本怎么安装atk)

    华硕atk怎么安装(华硕笔记本怎么安装atk)

  • 三星note4能用4g吗(三星note4有32g的吗)

    三星note4能用4g吗(三星note4有32g的吗)

  • 什么是pathon语言(pathonize)

    什么是pathon语言(pathonize)

  • 华为手机超级快充设置(华为手机超级快充怎么突然变成普通快充)

    华为手机超级快充设置(华为手机超级快充怎么突然变成普通快充)

  • 华为nova3有nfc功能吗(华为nova3i nfc功能)

    华为nova3有nfc功能吗(华为nova3i nfc功能)

  • 小米手环可以测血压吗(小米手环可以测血氧吗)

    小米手环可以测血压吗(小米手环可以测血氧吗)

  • 手机qq克隆好友在哪(手机qq克隆好友是什么意思)

    手机qq克隆好友在哪(手机qq克隆好友是什么意思)

  • 网络电缆没有插好怎么解决(网络电缆没有插好是哪根线)

    网络电缆没有插好怎么解决(网络电缆没有插好是哪根线)

  • 相机与IMU标定教程(什么叫相机标定)

    相机与IMU标定教程(什么叫相机标定)

  • dhcrelay命令  提供中继DHCP和BOOTP请求(df -th命令)

    dhcrelay命令 提供中继DHCP和BOOTP请求(df -th命令)

  • 如何确定合伙企业
  • 增值税不用交还要计提吗
  • 异地预缴税款不交可以吗
  • 投资收益和公允价值变动的区别
  • 行政事业单位无偿调拨资产会计处理
  • 行政单位支出科目中组织事务是什么
  • 违反有关规定擅自开设银行账户的
  • 固定资产缩水
  • 企业融资租赁设立条件
  • 单位房子没有房产证能不能买
  • 土地增值税负数怎么算
  • 出口佣金支付
  • 开的技术服务费可以做研发支出吗?
  • 出口押汇和议付的区别
  • 汇兑结算包括
  • 如何下载网页?
  • 无法访问移动网络怎么办
  • 事业单位非税收入怎么做账
  • 公司产生的劳务费如何计算个人所得税
  • 开具红字发票后所冲销的销项税应怎么处理?
  • 不征税收入与免税收入的区别
  • PHP中set error handler函数用法小结
  • 小米路由器开启ssh后怎么安装插件
  • xwizard.exe是什么
  • 总公司人员的工资子公司发,如何报税?
  • 财政补助收入的账务处理
  • PHP:class_implements()的用法_spl函数
  • 持有至到期投资减值准备
  • 收到保险公司退款
  • php zend
  • batch size 大小
  • 堡垒山是哪个国家
  • Aerial view of Chapel Bridge over the river Reuss in Lucerne, Switzerland (© Neleman Initiative/Gallery Stock)
  • vue3的
  • php实现文件上传的函数
  • mysql中regexp_replace函数的使用
  • 成本票和费用票一样吗
  • 申请开具电子发票
  • 代扣代缴的境外收入企业所得税可以抵减吗
  • 开票资料电话写错了有关系吗
  • 研发费用资本化可以加计扣除吗
  • 销售折扣现金流量表
  • 如何界定人力资源管理
  • 减值准备对当期损益的影响
  • MySQL数据库结构设计图
  • 公司财务报表中不设其他综合收益项目可以吗
  • 工程施工会计如何记账
  • 职工社会保险费是什么意思
  • 原材料用于在建工程进项税
  • 国库集中支付业务包括哪些
  • 企业网银代发工资明细打印
  • 合资公司政策
  • 本月增加的固定资产本月可以进行部门转移
  • 事业单位可以报考事业单位吗
  • 员工团体意外保险受益人是谁
  • sql语句训练题及答案
  • sql server 数据查询
  • Linux系统中sort排序命令的使用教程
  • win8磁盘分区合并
  • win8切换到桌面
  • cocos2dx怎么创建工程
  • appiumforwindows的简单安装和启动(安卓)
  • css并集
  • nodejs实战
  • Jquery中巧用Ajax的beforeSend方法
  • nodejs mysql orm
  • numpy使用心得
  • 编写javascript代码
  • jquery弹出提示框
  • jquery?
  • 最大的k个数python
  • 青岛网上办税服务厅登录
  • 北京市地方税务局2015第10号文件
  • 上海社保转出后查不到记录
  • 重庆个人所得税是多少
  • ca证书免费申请
  • 纳税申报的具体内容
  • 深圳坪山税务局电话人工客服电话
  • 有限公司怎么交五险
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设