今天开始学vue3啦~~主要是写一些新增和与vue2的差别。后面会专门出一篇vue2和3的一些对比

本文介绍了Vue3中的Composition API,包括setup函数、ref和reactive函数,以及它们的区别。详细讲解了计算属性、watch函数的变化,并提到了vue3的生命周期函数和自定义hook函数,强调了在Vue3中如何实现响应式数据和组件复用的优化。
摘要由CSDN通过智能技术生成

vue3

创建工程:

  1. vue-cli

  2. 用vite创建

常用Composition API(组合式API)

新增:setup —— 是一个配置项(函数格式)
  1. 组件中用到的所有数据、方法、计算属性、监视属性、生命周期钩子都要写在setup里

    setup() {
    //这里面的数据并不是响应式的,只是先练习一下setup的使用
    ​    *let* name = 'zs'
    ​    *let* age = 18
    
    ​    *function* sayhello() {
    ​      alert(`我叫${name},今年${age}`)
    ​    }
    
    ​    return {
    ​      name,
    ​      age,
    ​      sayhello
    ​    }
    
      }
    
  2. setup函数的两种返回值:
    1.若返回一个对象,则对象中的属性、方法,在模板中均可以直接使用。(重点关注! )
    2.若返回一个渲染函数:则可以自定义渲染内容。(了解)渲染函数就是我们当时在vue2写模板的时候里面用的render里的creatElement。要引入一下,从vue里面引入{h}

  3. 注意点:

    1. 尽量不要与vue2.x配置混用
    • Vue2.x配置(data、methos、computed…)中可以访问到setup中的属性、方法。
    • 但在setup中不能访问到Vue2.x配置(data、methos、computed…) 。
    • 如果有重名, setup优先。
    1. setup不能是一个async函数,因为返回值不再是return的对象,而是promise,模板看不到return对象中的属性。

vue2是在对象里面写属性和方法,就是key-value形式。

vue3是在函数里写属性和方法,所以要用变量写,函数前面要写function

ref函数 —— 定义一个响应式的数据

使用:要从vue里面引入 import {ref} from ‘vue’

setup() {

​    *let* name = ref('zs')
​    *let* age = ref(18)

​    *const* job = ref({
​      type: '前端工程师',
​      salary: '18k'
​    })

​    *function* changeInfo() {
​      name.value = 'bigzs'
​      age.value = 38
​      job.value.type = 'UI'//这要.value,后面不通过引用对象,不用再.value取了
​    }

​    return {
​      name,
​      age,
​      job,
​      changeInfo
​    }

  }

语法: const xxx = ref(initvalue) (用const命名是因为,要修改的是对象里的属性,对象地址不变,这样修改是不会报错的)

  • 创建一个包含响应式数据的引用对象(reference对象)。

  • JS中操作数据:xxx.value

  • 模板中读取数据:不需要.value,直接:

    { {xx] j

    接收的数据可以是:基本类型、也可以是对象类型。
    基本类型的数据:响应式依然是靠 object.defineProperty()的get与set 完成的。

    对象类型的数据:内部“求助”了Vue3.0中的一个新函数-reactive函数。(Proxy封装成的)

reactive函数——定义一个对象类型的响应式数据(基本类型不要用它,要用ref函数)
 *const* job = reactive({
​      type: '前端工程师'
​      salary: '18k',
		a
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值