vue3组合式Composition API之setup函数的具体用法

570 篇文章 55 订阅
订阅专栏

vue3拉开序幕的setup

  1. 理解:Vue3.0中一个新的配置项,值为一个函数。

  2. setup是所有Composition API(组合API)“ 表演的舞台 ”

  3. 组件中所用到的:数据、方法等等,均要配置在setup中。

  4. setup函数的两种返回值:

    1. 若返回一个对象,则对象中的属性、方法, 在模板中均可以直接使用。(重点关注!)

    2. 若返回一个渲染函数:则可以自定义渲染内容。(了解)

  5. 注意点:

    1. 尽量不要与Vue2.x配置混用

      • Vue2.x配置(data、methos、computed...)中可以访问到setup中的属性、方法。

      • 但在setup中不能访问到Vue2.x配置(data、methos、computed...)。

      • 如果有重名, setup优先。

    2. setup不能是一个async函数,因为返回值不再是return的对象, 而是promise, 模板看不到return对象中的属性。(后期也可以返回一个Promise实例,但需要Suspense和异步组件的配合)

 vue3中的setup函数的2种返回值用法

第一种返回值:返回一个对象,对象中的属性和方法在模板中可以直接使用

代码:

<template>
  <div class="hello">
    <h1>一个人的信息</h1>
    <h2>姓名:{{name}}</h2>
    <h2>年龄:{{age}}</h2>
    <button @click="sayHello">说话</button>
  </div>
</template>

<script>
export default {
  name: 'HelloWorld',
  props: {
    msg: String
  },
  setup(){
    let name='张三'
    let age = 18
    function sayHello(){
      alert(`我叫${name},我${age}岁了,你好啊!`)
    }
    return{
      name,
      age,
      sayHello
    }
  }
}
</script>

<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped>
</style>

第2种返回值:返回一个渲染函数,可以自定义渲染内容(用得不多,了解即可)

代码:

<template>
  <div class="hello">
    <h1>一个人的信息</h1>
    <h2>姓名:{{name}}</h2>
    <h2>年龄:{{age}}</h2>
    <button @click="sayHello">说话</button>
  </div>
</template>

<script>
import { h } from 'vue'

export default {
  name: 'HelloWorld',
  props: {
    msg: String
  },
  setup(){
    // let name='张三'
    // let age = 18
    // function sayHello(){
    //   alert(`我叫${name},我${age}岁了,你好啊!`)
    // }
    // return{
    //   name,
    //   age,
    //   sayHello
    // }
    return ()=> h('h1','尚硅谷')
  }
}
</script>

<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped>
</style>

 

结论:

使用了渲染函数之后。页面上的其他信息就被覆盖了。只显示了渲染函数里面的内容。

以上的例子只是为了演示。

代码:

<template>
  <div class="hello">
    <h1>一个人的信息</h1>
    <h2>姓名:{{ name }}</h2>
    <h2>年龄:{{ age }}</h2>
    <h2>性别:{{ sex }}</h2>
    <h2>a的值是:{{ a }}</h2>
    <button @click="sayHello">说话(Vue3所配置的——sayHello)</button>
    <br>
    <br>
    <button @click="sayWelcome">说话(Vue2所配置的——sayWelcome)</button>
    <br>
    <br>
    <button @click="test1">测试一下在Vue2的配置中去读取Vue3中的数据、方法</button>
    <br>
    <br>
    <button @click="test2">测试一下在Vue3的setup配置中去读取Vue2中的数据、方法</button>
  </div>
</template>

<script>
// import { h } from 'vue'

export default {
  name: 'a1setup',
  props: {
    msg: String
  },
  data() {
    return {
      sex: '男',
      a: 100
    }
  },
  methods: {
    sayWelcome() {
      alert('欢迎来到尚硅谷学习')
    },
    test1() {
      console.log(this.sex)
      console.log(this.name)
      console.log(this.age)
      console.log(this.sayHello)
    }
  },
  setup() {
    let name = '张三'
    let age = 18
    let a = 200
    function sayHello() {
      alert(`我叫${name},我${age}岁了,你好啊!`)
    }
    function test2() {
      console.log(name)
      console.log(age)
      console.log(sayHello)
      console.log(this.sex)
      console.log(this.sayWelcome)
    }
    return {
      name,
      age,
      sayHello,
      test2,
      a
    }
    // return ()=> h('h1','尚硅谷')
  }
}
</script>

<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped>
</style>

 

前3个按钮点击后结果都是正常的。第4个按钮获取不到某些值

vue3 组合式 api,setup
weixin_46518671的博客
03-09 150
VUE3 组合式API使用方法前言 前言 学习vue组合式api 在hello world组件加入setup函数,传入props参数 export default { setup(props){ console.log(props); }, props: { msg: String, }, // emits:['enlarge-text'], data() { return { }; }, methods:{ }.
Vue3笔记_01setup与常用的Composition API(组合式API)
qq_43260366的博客
11-27 1073
传送门组件所用到的:数据、方法,均要配置在setup(不需要在data、methods进行配置了)setup() {// [1]定义数据(原来在data,现在在setup配置) let 变量名 = 值 // [2]声明方法(原来在methods声明,现在在setup声明) 方法名 function() {//... } ... // 返回值 return ... }setup函数有两种返回值:若返回一个对象,则对象的属性、方法, 在模板均可以直接使用(重点关注!)
vue3.0新增特性之组合式API(setup)
qq_42179237的博客
04-28 530
新特性 组合式API setup: setup 选项在组件创建之前执行,一旦 props 被解析,就将作为组合式 API 的入口 在 setup 你应该避免使用 this,因为它不会找到组件实例。setup 的调用发生在 data 、computed 或 methods 被解析之前,所以它们无法在 setup 被获取。 使用示例 import { fetchUserRepositories } from '@/api/repositories' import { ref } from 'vue'
深入解析Vue 3组合函数:提高代码复用性和模块化的最佳实践
最新发布
nbsaas-boot基于Request-Response的企业级快速开发框架
09-17 1345
在这个项目,我们定义了几个核心的组合函数,分别用于不同的功能模块:分页、删除操作和视图管理。usePage:用于处理分页、排序、搜索等表格操作。useDelete:处理删除确认框以及执行删除操作。useView:用于显示详情或编辑界面。
vue3.0setup如何使用
xzg199153的博客
06-16 781
组件所有用到的:数据、方法、计算属性、监视属性、生命周期钩子都可以配置在setup
Vue 3.0 组合式API SetupVue3 从零开始】
2201_75866484的博客
03-07 316
本节使用代码示例的语法本指南假定你已经阅读了和。如果你不熟悉组合式 API,请先阅读这篇文章。
vue3学习记录:setup()组合式Api 使用
olderandyanger的博客
10-23 588
props context
浅谈Vue3 Composition API如何替换Vue Mixins
10-15
Vue3 允许我们创建自定义指令(如 `v-my-directive`),并且通过组合式函数(也称为组合函数或组合API)将复杂的逻辑封装起来,这些函数可以返回需要在 `setup()` 使用的对象,例如响应式数据、计算属性和方法。...
vue3第六幕之【组合式APIsetup语法糖
XSL_HR的博客
09-24 2635
关于Composition组合式API setup的相关基础知识 强烈推荐!!
八、【Vue3】——组合式APIComposition API
yifei1234567的博客
04-06 2740
Vue3逻辑编码主要靠各种组合式API来实现的,这片主要列出编程会经常使用到的API并进行分析,当然一些主要的API在以往章节详细介绍过的,可通过链接去学习。
Vue3 组合式API
daShuai_qianDuan的博客
06-16 622
1. Vue3相对于Vue2优势 性能提升 首次渲染更快 diff算法更快 内存占用更少 打包体积更小 更好的Typescript支持 Composition API (重点)组合式API 2. Vue3的一些破坏性语法更新 实例方法$on移除 (eventBus现有实现模式不再支持 可以使用三方插件替代) 过滤器filter移除 (插值表达式里不能再使用过滤器 可以使用methods替代)
vue3 组合式 APIsetup()
咸鱼滚滚
08-17 1119
setup() 函数是在组件实例创建之前执行的,它用于组合组件的逻辑,包括响应式数据、方法、计算属性、监听等。它接收两个参数:props 和 context,并返回一个对象,其包含可以在组件模板使用的属性和方法。
vue3 composition组合式APIsetup 入口函数
qq_39679937的博客
02-15 477
亲爱的视频版 博客内容已经录制了对应视频,点击可跳转 入口函数-setup 现在我们已经知道 为什么要使用组合式 API 了 ,那么接下来我们需要看的就是如何使用 组合式 API。 在 vue 组件之,我们通过 setup 函数来使用 组合式 API。 那么下面我们将分别从函数的: 调用时机this 指向函数参数返回值 这四个方面来解析 setup 函数 调用时机与 this 指向 setup ...
Vue3-组合式API学习之setup
我是我
09-21 1万+
学习来源 1.简介 setup函数是一个新的组件选项。作为在组件内使用Composition API的入口点。 2.调用时机 创建组件实例,然后初始化props,紧接着就调用setup函数,从生命周期钩子的视角来看,它会在beforeCreate钩子之前被调用。 3.模板使用 如果setup返回一个对象,则对象的属性将会被合并到组件模板的渲染上下文。 <template> <button> {{count}}---{{object.foo}} </button
vue3 组合式API
热门推荐
小钟不想敲代码
10-13 2万+
vue3 组合式API(一)
vue3】组合式APIsetup()介绍与reactive()函数的使用
嗨,朋友你好!我是前端领域的工作者
03-29 3340
vue3项目组合式API基础概念、setup()入口函数概念、 reactive()的使用
Composition APIsetup 函数vue 3.x)
KLW75
01-17 216
setup()是 composition API 的入口函数。 只要特点有三个 1. setup 函数类似于生命周期,它在 beforeCreate 生命周期 之前自动调用。 2.setup函数,没有this 3.setup 函数的数据或者方法都要return出去。 使用var或者let定义的数据都不具有响应式功能,不具有双向绑定的功能,要定义响应式数据,来进行使用。 ...
Vue3【六】setup的使用和setup返回值
Ggome的博客
06-07 840
setup函数的使用,和vue2的选项式不同 vue3的组合式使用的是setup函数通过返回值将数据和方法传到页面返回值也可以是一个箭头函数setup先于 data和method执行所有无法读取到this和data,method的内容,反之可以。
vue3 新特性
三季雨
08-19 1147
推荐视频:https://www.bilibili.com/video/BV1JJ41137jb vue3.0 开发文档:http://www.liulongbin.top:8085/#/
vue3组合式Api使用
03-07
Vue 3的组合式API是一种新的编程模式,它使得在Vue组件可以更灵活地组织和复用逻辑。下面是对Vue 3组合式API的介绍: 1. Composition API组合式API):Vue 3引入了Composition API,它允许我们将逻辑按照功能进行组合,而不是按照生命周期钩子进行划分。这样可以更好地组织和复用代码。 2. setup函数:在Vue 3,我们需要在组件使用setup函数来定义组合式APIsetup函数在组件创建之前执行,并且接收两个参数:props和context。我们可以在setup函数定义响应式数据、计算属性、方法等。 3. reactive函数:reactive函数Vue 3用来创建响应式数据的函数。我们可以使用reactive函数将普通对象转换为响应式对象,从而实现数据的双向绑定。 4. ref函数:ref函数Vue 3用来创建单个响应式数据的函数。与reactive函数不同,ref函数返回一个包装过的对象,我们需要通过.value属性来访问和修改数据。 5. computed函数:computed函数用来创建计算属性。与Vue 2的计算属性类似,我们可以使用computed函数来定义一个依赖其他响应式数据的属性。 6. watch函数:watch函数用来监听响应式数据的变化。我们可以使用watch函数来执行一些副作用操作,比如发送网络请求或者更新DOM。 7. 生命周期钩子:在Vue 3,生命周期钩子函数被废弃了,取而代之的是使用setup函数来处理组件的生命周期逻辑。我们可以在setup函数使用onMounted、onUpdated等函数来模拟Vue 2的生命周期钩子。
写文章

热门文章

  • nvm介绍、nvm下载、nvm安装、配置及nvm使用(Node Version Manager)nodejs版本管理切换工具 185499
  • 程序员常见系统错误代码大全:1到15841 101093
  • element ui 表单验证触发方式:trigger: ‘change‘和trigger: ‘blur‘区别 77953
  • edge浏览器如何设置始终在新标签页中打开? 70914
  • 如何批量快速提取复制文件夹里所有文件夹名和文件名(包括所有子文件里的所有文件夹名和文件名)详细步骤 65137

分类专栏

  • react实战 付费 17篇
  • web前端特效源码 付费 101篇
  • 前端知识点 付费 2篇
  • 前端进阶练手实战 付费 136篇
  • vue3 7篇
  • vue2
  • uni-app高级实战 2篇
  • javascript入门到实战
  • 前端开发之多端项目开发实战
  • 大数据ai人工智能it计算机科普 43篇
  • 前端面试题 34篇
  • 前端进阶 15篇
  • 前端开发 570篇
  • java 34篇
  • 有用的知识 94篇
  • 前端项目 3篇
  • 小程序 49篇
  • git 20篇
  • 前端工具代码 15篇

最新评论

  • uniapp打包成Android时,使用uni.chooseLocation在App端显示的地址列表是空白?一直转圈的解决办法

    南北极之间: 这个我不是很清楚,我们预览用了高德地图和腾讯地图,手机上可以在百度地图打开

  • uniapp打包成Android时,使用uni.chooseLocation在App端显示的地址列表是空白?一直转圈的解决办法

    南北极之间: 可以在手机应用权限里面授权

  • uniapp打包成Android时,使用uni.chooseLocation在App端显示的地址列表是空白?一直转圈的解决办法

    qq_42811746: 您好,请问一下,我按照您的教程设置完了,下方地点列表在loading中,请问哪里可以授权

  • WeixinJSBridge.call 不被支持,请参考 http://mp.weixin.qq.com/wiki/7/aaa137b55fb2e0456bf8dd9148dd613f.html 进行

    wwuwuwusxsj: 救我命啊你

  • uniapp打包成Android时,使用uni.chooseLocation在App端显示的地址列表是空白?一直转圈的解决办法

    2401_84587533: 哥 app端只能使用高德地图吗

大家在看

  • 帝国CMS – AutoTitlePic 自动生成文章标题图片插件
  • 帝国CMS7.0 7.2 7.5微信登录插件

最新文章

  • Vue2 项目实战:打造一个简易倒计时计时器工具 Vue2 实践教程:如何实现一个工作与休息倒计时工具 从零开始:使用 Vue2 构建你的倒计时计时器 初学者友好:Vue2 实现简单倒计时应用,附完整
  • 零基础上手:用 React 构建商品属性选择和购物车功能(含完整源码) 超实用!新手友好的 React 商品详情页制作教程 一步一步教你用 React 实现商品属性选择与购物车系统 大学生期末大作业:
  • Vue2 新手实战:从零开始搭建一个功能齐全的商品购买页面 深入浅出 Vue.js:打造电商页面的商品选择与库存动态更新功能教程|Vue.js 电商页面教程:轻松实现商品属性选择与价格动态更新(附完整
2024
10月 93篇
09月 40篇
08月 3篇
07月 6篇
06月 55篇
05月 2篇
03月 6篇
2023年30篇
2022年290篇
2021年198篇
2020年122篇
2019年195篇
2018年53篇
2017年1篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

南北极之间

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或 充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

玻璃钢生产厂家户外玻璃钢雕塑生产玻璃钢卡通抽象雕塑西宁玻璃钢彩绘雕塑福建玻璃钢卡通雕塑厂嘉定区玻璃钢雕塑销售电话鼓楼商场中秋美陈安庆玻璃钢雕塑多少钱周口不锈钢景观玻璃钢仿铜雕塑玻璃钢骆驼雕塑选哪家琼海玻璃钢长颈雕塑玻璃钢雕塑喷铜玻璃钢雕塑怎么计算湖北镜面不锈钢玻璃钢仿铜雕塑沈阳哪里有卖玻璃钢雕塑的金华人物玻璃钢雕塑哪家便宜玻璃钢花盆种花好不好巩义玻璃钢雕塑江苏拉丝玻璃钢雕塑免费咨询漯河景观校园玻璃钢景观雕塑定做卡通雕塑玻璃钢平台哪个好大型玻璃钢雕塑报价阜阳玻璃钢雕塑设计扶沟玻璃钢雕塑厂家北京玻璃钢雕塑有限公司兰州景区玻璃钢雕塑价格东莞树脂玻璃钢雕塑现货三门峡室内玻璃钢彩绘雕塑公司商场开业中庭吊饰美陈广州抽象玻璃钢雕塑销售厂家淮南玻璃钢卡通雕塑香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化