位置: 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保留字有哪些)

  • 增加微博粉丝的二十个方法途径(增加微博粉丝的方法)

    增加微博粉丝的二十个方法途径(增加微博粉丝的方法)

  • js字符串替换指定字符(js 替换字符串中所有指定字符串的方法)

    js字符串替换指定字符(js 替换字符串中所有指定字符串的方法)

  • 美团民宿房东可以取消订单吗(美团民宿房东可以评价住客吗)

    美团民宿房东可以取消订单吗(美团民宿房东可以评价住客吗)

  • 怎么提前预约滴滴打车(滴滴预约车怎么提前预约)

    怎么提前预约滴滴打车(滴滴预约车怎么提前预约)

  • iwatch不连手机能用吗(iwatch不连手机能打电话吗)

    iwatch不连手机能用吗(iwatch不连手机能打电话吗)

  • 24mm定焦镜头拍什么(24mm定焦镜头拍摄距离)

    24mm定焦镜头拍什么(24mm定焦镜头拍摄距离)

  • qq群被别人举报封号怎么办(qq群被别人举报了怎么恢复)

    qq群被别人举报封号怎么办(qq群被别人举报了怎么恢复)

  • 双引擎闪充怎么开启(双引擎闪充怎么设置)

    双引擎闪充怎么开启(双引擎闪充怎么设置)

  • 苹果蓝牙耳机2代和3代的区别(苹果蓝牙耳机2代什么时候出的)

    苹果蓝牙耳机2代和3代的区别(苹果蓝牙耳机2代什么时候出的)

  • 抖音粉丝未授权暂不支持查看什么意思(抖音粉丝未授权暂不支持查看)

    抖音粉丝未授权暂不支持查看什么意思(抖音粉丝未授权暂不支持查看)

  • 红米8和8a的区别(红米8和8a的区别是什么)

    红米8和8a的区别(红米8和8a的区别是什么)

  • 手机可以拉黑网址吗(手机拉黑网站)

    手机可以拉黑网址吗(手机拉黑网站)

  • 苹果笔二代怎么配对(苹果笔二代怎么激活)

    苹果笔二代怎么配对(苹果笔二代怎么激活)

  • 闽政通手机号被注册怎么处理(闽政通手机号被注销忘了密码要怎么登记)

    闽政通手机号被注册怎么处理(闽政通手机号被注销忘了密码要怎么登记)

  • 如何调苹果截图清晰度(苹果手机截图怎么调)

    如何调苹果截图清晰度(苹果手机截图怎么调)

  • 推镜头和拉镜头的区别

    推镜头和拉镜头的区别

  • 微机中硬盘连同驱动器属于(硬盘与电脑连接)

    微机中硬盘连同驱动器属于(硬盘与电脑连接)

  • iphone7什么时候上市的(iphone7什么时候出的)

    iphone7什么时候上市的(iphone7什么时候出的)

  • windows7怎么恢复出厂设置(windows7怎么恢复默认主题)

    windows7怎么恢复出厂设置(windows7怎么恢复默认主题)

  • 抖音号怎样注销账号(抖音号怎样注销的)

    抖音号怎样注销账号(抖音号怎样注销的)

  • 抖音注销后的的状态(抖音注销的的7天不能正常身份校验)

    抖音注销后的的状态(抖音注销的的7天不能正常身份校验)

  • 小米手机怎么设置防盗系统(小米手机怎么设置自动开关机)

    小米手机怎么设置防盗系统(小米手机怎么设置自动开关机)

  • 华为p30pro无线充电怎么用啊(华为p30pro无线充电没反应)

    华为p30pro无线充电怎么用啊(华为p30pro无线充电没反应)

  • Mac桌面整理技巧教你如何一键收纳多个文件到一个文件夹(mac桌面怎么整理)

    Mac桌面整理技巧教你如何一键收纳多个文件到一个文件夹(mac桌面怎么整理)

  • Win10修改编辑hosts文件无法保存怎么办(windows 修改host)

    Win10修改编辑hosts文件无法保存怎么办(windows 修改host)

  • python输入成绩求平均分(python输入三科成绩)

    python输入成绩求平均分(python输入三科成绩)

  • 进口关税和增值税可以抵扣吗
  • 增值税即征即退怎么计算
  • 企业年末要写财务报告吗
  • 增值税电子普通发票和增值税专用发票区别
  • 税收的构成要素包含哪些内容
  • 计提社保费计入什么科目
  • 变更注册资本的股东会决议范本
  • 固定资产原价的结余额
  • 冲销主营业务收入后导致发生额变大
  • 建筑业预缴税款都要填哪些表
  • 生物资产出售的账务处理
  • 公司阅览室布置图片
  • 收到对方开的发票怎么做账
  • 管理费用进项抵扣比例是多少?怎么算
  • 公司注销后原有债权
  • 外地预缴城市建设2%的依据
  • 季度弥补以前年度亏损报表怎么填
  • 股东投进来的钱可以放哪个科目
  • 旅行社差额征税如何开票
  • 限额领料单是一种多次使用的
  • 残值收入的会计处理
  • 生产领用产成品验证会计分录
  • word要打印保存在哪个类型
  • 收到预付卡发票分录
  • 股权转让个税怎么缴纳
  • 代个人多交的社保怎么查
  • linux系统中查看磁盘空间情况命令
  • 可作为税前扣除的项目有
  • PHP:Memcached::flush()的用法_Memcached类
  • 网络看不到局域网图标
  • 应扣未扣税款对纳税人的处理
  • kernl32.dll
  • excel多表操作法
  • 贸易公司的采购
  • PHP:jdtojewish()的用法_日历函数
  • 财务比率分析的主要内容
  • 投资者投资企业项目的主要目的是
  • 专用发票跨月冲红给对方吗
  • 如何计算公司需增加的营运资金
  • 企业的研发费用如何进行账务处理
  • 如何开具电子发票广东
  • 自然人独资可以变更为有限责任公司
  • 公司向法人借款会计分录
  • 接受捐赠收入要缴纳企业所得税吗
  • 大学生创新创业平台
  • 为什么结转材料成本差异
  • 何谓应该是什么意思
  • 出口货物离岸价差异原因说明表在电子税务局的位置
  • PostgreSQL新手入门教程
  • ibm.data.db2
  • 免税农产品范围目录的文件
  • 开票机号可以随便填吗
  • 小微企业免税额按1%还是3%确认收入
  • 建筑业无票收入收货款分录
  • 出口退免税的税种包括增值税消费税企业所得税
  • 发票清单用什么章
  • 应付职工薪酬的核算内容
  • 员工预支钱要写什么单据
  • 国有资产保值增值率
  • 法院去单位直接扣划单位薪酬
  • 不同银行的存款
  • 房产公司增值税专用发票
  • 期间费用明细表在哪里找
  • win8升级win10系统 激活
  • 教程图解
  • 如何设置自动删除安装包
  • windows推送
  • centos7yum安装
  • 记住密码自动登录 会更新登陆信息吗
  • js 图片压缩库
  • 大叔sam1
  • javascript运用
  • Sublime Text 3常用插件及安装方法
  • 安卓使用icloud
  • 税务局的章
  • 新能源免税申报,车辆类型怎么填
  • 上海税务门户网站
  • 四川地税务局官网
  • 企业应交个人所得税分录
  • 浙江残保金征收标准
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设