Vue3.0中set up与composition API特性

目录

        set up的特性与注意点:

        两种用法


Vue3 的一大特性函数 ---- setup

        set up的特性与注意点

  1.setup函数是处于 生命周期函数 beforeCreate 和 Created 两个钩子函数之间的函数 也就说在 setup函数中是无法 使用 data 和 methods 中的数据和方法的,所以 Vue 为了避免我们错误的使用,直接将 setup函数中的this修改成了 undefined

  2.setup函数是 Composition API(组合API)的入口

  3.在setup函数中定义的变量和方法最后都是需要 return 出去的 不然无法再模板中使用

       4.setup函数只能是同步的不能是异步的

        两种用法:

        用法1:结合ref使用

<template>

 <div id="app">

  {{name}}

  <p>{{age}}</p>

  <button @click="plusOne()">+</button>

 </div>

</template>

  

<script>

import {ref} from 'vue'

export default {

 name:'app',

 data(){

  return {

   name:'xiaosan'

  }

 },

 setup(){

  const name =ref('小四')

  const age=ref(18)

  function plusOne(){

   age.value++ //想改变值或获取值 必须.value

  }

  return { //必须返回 模板中才能使用

   name,age,plusOne

  }

 }

}

</script>

        用法2:代码分割

Options API 和 Composition API 

Options API 规定:我们需要在 props 里设置接收参数
                                在 data 里设置变量
                                在 computed 里设置计算属性
                                在 watch 里设置监听属性
                                在 methods 里设置事件方法

        通过声明组件选项的对象形式编写组件,分类清晰,写的时候分工很明确

        options API更条理,但单个组件增长过大反而成为限制,一个逻辑关注点分散在组件各处,维护时需要反复横跳

composition API 则是一组API,包括:Reactivity API,生命周期钩子,依赖注入。使用户可以通过导入函数的方法编写vue组件,写时这些控制权掌握在用户自己手中,更灵活。

使用选择:

如果项目属于中低复杂度的场景,options API仍是好选择;

对于大型,高扩展,强维护的项目上,compostion API会获得更大收益。

我们期望是这样的:


importuseAfrom'./a';

importuseBfrom'./b';

importuseCfrom'./c';


exportdefault{

 setup (props) {

 let{ a, methodsA } = useA();

 let{ b, methodsB } = useA();

 let{ c, methodsC } = useC();  

 return{

   a,

    methodsA,

    b,

    methodsB,

    c,

    methodsC

  }

 }

}

就算 setup 内容代码量越来越大,但是始终围绕着大而不乱,代码结构清晰的路子前进。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值