Vue3 composition API (组合式API )

Vue3 中新增的 feature 之一是 compositon API, 使用 options API (选项式API) 构建组件是最基本的方式。
composition API 的出现主要是为了解决大型 APP 中可能出现的两个问题:逻辑不能重用,以及组件对象中相关的值与逻辑分散,例如关于某一相同属性的逻辑分散在 data(), computed, methods, watch 各处。
在这里插入图片描述
使用 composition API, 就能将data(), methods, computedwatch 属性组合/合并到一个统一的 setup() 函数中。

使用 composition API,propscomponentsemits 等属性都不受影响,但是生命周期钩子函数例外。

下面的 code, 使用 composition API, 在页面上显示一个userName,3 秒后,改成另一个userName。注释部分是使用 Options API.

<template>
  <section class="container">
    <h2>{{ userName }}</h2>
  </section>
</template>

<script>
import { ref } from 'vue';
export default {
  setup() {
    const uName = ref('Maximilian');

    setTimeout(() => {
      // 不能直接写成 uName = "Max" !!!
      uName.value = "Max";
    }, 3000);

    return {
      userName: uName,
    };
  },

  // 使用 Options API
  // data() {
  //   return {
  //     userName: 'Maximilian',
  //   };
  // },
};
</script>

首先需要 import ref, ref 函数可以在 setup 函数中使用,它创建一个对象,此对象有一个value 属性,ref() 的参数就是value属性的初始值,可以是boolean,string,object,等等。
setup 总是返回一个对象,模板需要的内容,都由此对象提供。在模板里不能使用 .value, 如果将 ref 传递给模板,Vue会自动读取 value 属性。

上述代码,如果只是单纯显示一个 userName,不一定要使用 ref,但是,使用 ref 能够创建 reactive value 反应值, 即如果 setup() 中 userName 的值发生改变,Vue 将自动更新template 和 DOM。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值