这是一个简单的计数器例子,模板中使用 count 变量,inc 函数。

<template><button @click="inc">{{count}}</button>
</template>

如果模板上要使用的些变量,必须要在 setup 返回的对象中定义。

<script>
import { ref } from 'vue'export default {setup() {const count = ref(0)const inc = () => count.value++return {count,inc,}},
}
</script>

暴露变量必须 return 出来,这样还是比较繁琐,有没有更简单的办法,于是 script setup 语法出现。使用这个语法只需要在 script 标签上加上 setup 属性。

<script setup>import { ref } from 'vue'export const count = ref(0)export const inc = () => count.value++
</script>

当 <script> 标签具有 setup 属性时,组件在编译的过程中代码运行的上下文是 setup() 函数中。所有 ES 模块导出都被认为是暴露给上下文的值,并包含在 setup() 返回对象中。

语法变得越来越简单,比如有外部组件导入到模板中使用时,只要几行代码就搞定了。

<template><Foo/><Bar/><component :is="ok ? Foo : Bar"/>
</template>

script setup 语法

<script setup="props">
export { default as Foo } from './Foo.vue'
export { default as Bar } from './Bar.vue'
export const ok = Math.random()
console.log(props)
</script>

vue3 语法

<script>
import Foo from './Foo.vue'
import Bar from './Bar.vue'
export default {setup (props) {console.log(props)return {ok: Math.random(),Foo,Bar}}
}
</script>

其实 script setup 就相当于在编译运行时把代码放到了 setup 函数中运行,然后把导出的变量定义到上下文中,并包含在返回的对象中。

script setup 实验性 vue 语法相关推荐

  1. 介绍一下 Vue Conf 21 大会上:尤大提到 script setup 语法!

    作者:Matt Maribojoc 译者:前端小智 来源:stackabuse 有梦想,有干货,微信搜索 [大迁世界] 关注这个在凌晨还在刷碗的刷碗智. 本文 GitHub https://githu ...

  2. vue 3.2 的 script setup 语法

    vue 3.2 已经正式支持 <script setup> 语法,并且现在就可以在生产环境下使用了,接下开始学习基本用法. <script setup> 是在单文件组件 (SF ...

  3. vue3之语法糖script setup的父子组件、兄弟组件传值

    背景:随着vue的使用范围越来越广,使用人数越来越多,其的发展更新速度也是再上一个台阶,vue2故好,但组件化过程中的某些组件化操作稍微有一些弊端,从而vue3随之诞生,vue3兼容typescrip ...

  4. Vue3 script setup 语法糖详解

    前言: 目前setup sugar已经进行了定稿,vue3 + setup sugar + TS的写法看起来很香,写本文时 Vue 版本是 "^3.2.6" 1.script se ...

  5. script setup 语法使用

    vue3.2正式版已经发布,script setup语法已经由实验性质改为了正式语法,可以放心大胆的在项目中用了. 官方文档:https://v3.cn.vuejs.org/api/sfc-scrip ...

  6. vue3 + ts <script setup>语法糖

    这里是引用 1.data 2.computed 3.父传子 4.子传父 5.原型链绑定和组件使用 6.父子组件 v-model 7.nextTick 8.插槽 9.路由useRoute和useRout ...

  7. 尤大都说Vue3 + script setup + TS + Volar真香,你说香不香?

    前两天尤大官宣发布了Vue3.2,支持了好几个很不错的新特性,而且自信放话:<script setup> + TS + Volar = 真香,是时候了 想看Vue3.2更新的内容文档的读者 ...

  8. vue3 setup写法(语法糖版本)

    vue3.2 版本开始才能使用语法糖! 在 Vue3.0 中变量必须 return 出来, template 中才能使用:而在 Vue3.2 中只需要在 script 标签上加上 setup 属性,无 ...

  9. vue3 script setup写法

    公司代码扫描要求一个函数不能超过50行,那么一般vue3写法setup函数肯定超了,又懒得写到hooks,同事介绍了去年vue3出的新的语法糖,研究了下,写篇博客 简单的将,去掉了exprot def ...

最新文章

  1. 太鸡冻了!我用 Python 偷偷查到暗恋女生的名字
  2. 博客基础_django_python从入门到实践_创建项目_创建应用
  3. 今天网易云有大事发生?!
  4. python爬虫保存图片到指定文件夹_李亚涛:python抓取某房源户型图并自动保存到文件夹...
  5. SAP CRM Opportunity订单的文档流Document Flow的一些变体variant
  6. SELECT语句使用JDBC和Hibernate批量获取
  7. 我的职场战争--一年来的开发组内战实录
  8. 如何获取option的下标和值_数智化时代下,如何获取企业增长密码?
  9. CentOS6.5安装ElasticSearch6.2.3
  10. 电梯停靠问题---------------给你出道题
  11. 苹果汽车自动驾驶又出新信号:正与多家激光雷达供应商谈判
  12. DB2分区表删除和添加分区
  13. java网络编程小结(黑马程序员基础java总结)
  14. python源代码(create,huafen,doc)
  15. android的歌词播放,android手机音乐播放器实现歌词同步
  16. DaZeng:Vue全家桶实现小米商城(二)
  17. [置顶] 可惜了,没有人可以代替你自己的思考
  18. c++游戏编程初步(超简单)教学
  19. OSChina 周五乱弹 ——国庆第六天,每逢佳节胖三斤
  20. Opencv Python图像处理进阶教程②

热门文章

  1. Google DeepMind 团队发布新算法,下一个被 AI 虐哭的是谁?
  2. “不会MySQL,干啥都不行!”高级开发:工作、面试处处都会踩坑!
  3. 我只是追个直播,结果被拉进大咖们的群面对面群聊……
  4. 为什么没人会 COBOL 编程了?
  5. 罗永浩宣布进军电商直播;微博回应用户数据泄露;Android 11 开发者预览版 2 发布 | 极客头条...
  6. 中国区块链开发者的热血时代来临!
  7. 物联网时代下,如何打造智慧新社区?
  8. 如何伪装成一个彻头彻尾的程序员?
  9. 程序员面向软件开发时,如何成功?
  10. GitHub 断供危机来了!权威解读程序员应对指南 | CSDN 独家