script setup 实验性 vue 语法

这是一个简单的计数器例子,模板中使用 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 函数中运行,然后把导出的变量定义到上下文中,并包含在返回的对象中。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
二、Vue的数据驱动---mvvm模式的介绍 Vue是一款轻量级的渐进式前端框架,主要功能: 1、模板渲染/数据同步 2、组件化、模块化 3、扩展功能:路由 等等 Vue资源: 文官网:https://cn.vuejs.org/ Github源码:https://github.com/vuejs/vue MVVM: M:Model数据模型 负责数据存储 V:View视图 负责页面的显示 VM:View Model负责业务处理,对数据进行加工,之后交给视图 Vue1 下载地址:http://v1-cn.vuejs.org/js/vue.js Vue2 下载地址:https://unpkg.com/vue@2.2.1/dist/vue.js 三、Vue常见指令介绍上 1、插值表达式 {{}} 当模型的数据发生改变时,那么视图的数据也对应的发生改变。 2、v-text 将一个变量的值渲染到指定的元素 3、v-html 可以真正输出html元素 4、v-model 实现双向数据绑定 5、v-build 绑定页面元素的属性 6、v-if和v-show v-if 作用:判断是否加载固定的内容,如果是真,就加载,如果是假,就不加载; 语法:v-if='判断表达式' v-show 作用:判断是否显示内容 语法:v-show='判断表达式' v-if和v-show的相同点和不同点 1.相同点:都可以实现对于一个元素的显示与隐藏操作 2.不同点:v-if是将元素添加或移出dom树模型,v-show只是在这个属性上添加display:none而已。 3.v-if有更高的切换小号,安全性高。v-show初始化消耗大点。所以,如果需要频繁切换并对安全性没有要求时, 可以用v-show。如果在运行时,条件不可能改变的话,使用v-if更好点。 7、v-for 作用:控制html元素的循环 语法:v-for="item in 集合" 8、v-on 作用:对页面的事件进行绑定 语法:v-on:事件类型 = '监听器' 缩写@事件类型='监听器' 四、Vue常用的组件使用 组件是vue.js一个非常强大的功能,可以扩展HTML元素,封装可重用的代码。 1、将组件内容定义到template模板 2、组件实现指令以及事件绑定 五、组件间的传值 1、父组件传值给子组件 2、子组件传值给父组件 六、Vue-router路由的基本使用上 在一个系统或App,由多个页面组成,通常会使用vue的组件来实现,那么从一个页面跳转到另一个页面时, 通过url路径来实现的,哪个url对应哪个页面,在vue是通过vue-router来实现 Vue-router在vue2.0的使用、 配合vue1.0使用的版本的帮助文档地址: https://github.com/vuejs/vue-router/tree/1.0/docs/zh-cn 配合vue1.0使用的vue-router下载地址: https://cdnjs.doubflare.com/ajax/libs/vue-router/0.7.10/vue-router.min.js 配合vue2.0使用的版本的帮助文档地址:http://router.vuejs.org/zh-cn/installation.html 配合vue2.0使用的vue-router下载地址:https://unpkg.com/vue-router/dist/vue-router.js 七、路由的传值 vue2.0的路由参数定义实现url的传值 八、ECMAScript6 九、let使用 let是申明变量的关键字 1、在相同的作用域内,let不能重复申明一个变量 2、let申明的变量不会被预解析 3、暂时性死区(变量在let声明前都不能访问,为了防止先调用后声明这个现象) 十、let与for的使用 1.块级作用域 let声明的变量拥有块级作用域,块级作用域是一对大括号 块级作用域可以直接些一堆大括号,以后就不用写自执行函数了 2.var与for循环 3.let与for循环 十一、const的用法 const声明一个常量,一旦声明后就不能修改了 1.如果声明后再去修改的话就会报错 2.只声明不赋值也会报错 3.只能先声明后使用,不会被提前解析 4.不能重复声明一个常量 注意:const声明的对象属性是可以修改的 十二、结构赋值-数组 结构赋值 按照一定的模式,从数组或者对象把数据拿出来,对变量进行赋值 数组结构赋值 等号左边与右边必须都是数组,数组的结构赋值要一一对应。如果对应不上的话就是undefind 十三、对象结构赋值 对象结构赋值 等号左边与右边必须都是对象,名字要一一对应,顺序不需要对应,对应不上的值结果是undefind 十四、字符串模板 1.字符串需要用一堆反引号包裹起来,它可以定义多行字符串,只用一堆反引号 2.要拼进去的数据需要放在${}里面 3.大括号里面还可以进行运算 4.大括号里面可以调用函数 十五、箭头函数 语法: 1.function用var、let、const来表示 2.参数要卸载第一个等号后面 a.如果没有参数,需要写一堆空的小括号 b.只有一个参数,那就直接写,不用加括号 c.参数有多个,需要加一个小括号,参数用逗号隔开 3.函数的主题内容是放箭头后面, 如果语句只有一条,那就直接写; 如果语句有多条,需要把他们放在一堆大括号里 。 十六、rest参数 rest参数 ...变量名 rest参数是一个数组,他的后面不能再有参数,不然会报错 扩展方法... 1.三个点后面是一个类数组,它的作用是把这个类数组转成真正的数组,但是它需要放到一对括号里面 2.三个点后面是一个真正的数组,它的作用是把数组转成一个普通集合数据,不需要加括号 十七、Symbol介绍 新增的第7数据类型,表示独一无二。用来作为属性名,能保证不会与其他的属性名冲突 1.它是通过Symbol函数生成的 2.它的前面不能用new,因为它生成的是一个原始类型的数据,不是对象 3.它可以接受一个参数,为了便于区别。及时长的一样他们也不同 4.它不能与其他的值进行运算,没有隐式转换 5.它的值可以被转换成布尔值或字符串,不能转换成数字 十八、set数据结构 set数据结构,类似数组,所有的数据都是唯一的,没有重复的值。它本身是一个构造函数 size数据长度 add()添加一个数据 delete()删除一个数据 has()查找某条数据,返回一个布尔值 clear()删除所有数据 十九、map数据结构 map数据结构,类似于对象。键值对的集合,所有输一局都是唯一的,不会重复。每条数据都需要放在一个数组 它本身就是一个构造函数 size()数据的长度 set()添加一条数据 delete()删除一条数据 get()获取一条数据 has()查找某条数据,返回一个布尔值 clear()删除所有数据 二十:教学视频

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值