Vue3新特性

一、组合式api

ps:今天用的是.vue文件,前两篇用的是html文件,所以代码基本结构不同,使用的工具为vsCode

        1.setup程序入口

        类似于C和Java的main函数,都是程序的入口函数,在vue2中需要声明setup函数

export default{
 setup(){
    console.log('调用了setup')
    
    }
 }

export default代表向外暴露端口,setup函数内的内容在加载时就会被调用,所以进入页面控制台内就会输出一句:调用了setup

vue3摒弃了这种复杂的写法,而是在script标签中直接写入setup即可:

<script setup>
//定义常量语句
const count=0
//也可以定义函数.....
</script>

        2.reactive和ref存放数据的函数

                使用这两种函数的优点在于,存放数据即可实现数据与元素绑定,不需要手动绑定

                (1)reactive函数

                        只能存放对象,返回值也是对象(响应式对象),在script部分代码案例如下:

//导入该函数
 import {reactive} from 'vue'
 //使用reactive
const state=reactive({count:0})
 //创建事件函数对reactive内的值自加
 const setCount=()=>{
  state.count++ 
}

说明:import代码为导入reactive工具包,第二句代码实现了在reactive中存放了一个对象,对象中有一组key:value即count:0,返回一个对象给state

template部分(元素部分)代码如下

<template>
 <button @click="setCount">{{state.count }}</button>

</template>

在上述代码中实现了在页面中设置一个按钮,绑定了一个单击事件,事件触发函数setCount。结合script中的代码我们得知setCount函数实现了对count键对应值的自加,注意:对象值的调用需要打点调用

                (2)ref函数

                        既可以存放简单数据,也可以存放复杂的对象数据,他也返回一个对象。在script部分代码案例:

import {ref} from 'vue'
const count=ref(0)
const setCount=()=>{
 count.value++
 }

说明:import代码为导入ref工具包,第二句代码实现了在ref中存放了一个数据0,返回一个对象给count。注意:ref中存放简单数据时,要对值操作,引用时要调用value属性,如setCount函数中的语法

template部分(元素部分)代码如下

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

</template>

说明:实现的功能与reactive案例相同,但在元素内引用时只需要写名字即可


                (3)computed计算函数

                        computed 属性是一种特殊类型的依赖项,它根据响应式数据的变化自动重新计算值。computed 属性非常适合用于当你需要根据现有数据派生出一些状态时。computed 属性具有缓存特性,只有当依赖项发生变化时,计算属性才会重新计算。这使得 computed 属性非常适合用于性能优化。

案例写法如下:

import {computed,ref} from 'vue'
const list =ref([1,2,3,4,5,6,7,8,9])
//通过计算函数对象数组中的数据进行计算
const computedList=computed(()=>{
  return list.value.filter(item=>item>2)
})

说明:filter为过滤器,会迭代list中的value值,第一次取出1,第二次取出2等,item=>item>2是一个简易函数写法,item为每次迭代取出的值=>代表是一个函数,因为函数体只有一句话所以不用写花括号{},如果item>2则会给到computedList,所以最后computed List中的值为[3,4,5,6,7,8,9]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值