最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue3.0中setup的兩種用法實例

 更新時間:2022年09月20日 10:43:24   作者:一只小小的蝸牛_  
setup函數(shù)是一個新的組件選項,作為在組件內(nèi)使用Composition Api的入口點,下面這篇文章主要給大家介紹了關(guān)于vue3.0中setup的兩種用法,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下

前言

這篇文章主要介紹了vue3.0中setup使用,本文通過兩種用法給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下

什么是setup

setup是vue3新增的生命周期函數(shù),setup的加入就是為了讓vue3使用組合式API(Composition API)。使用組合式API更符合大型項目的開發(fā),通過setup可以將該部分抽離成函數(shù),讓其他開發(fā)者就不用關(guān)心該部分邏輯。

setup真香

setup位于beforeCreated之前,用于代替created 和beforeCreated。不僅是作為vue3新增的生命周期函數(shù),還可以在setup中引入外部js文件方法,可在js中共用vue全部生命周期。

哈哈,是不是和之前的mixin很像?沒錯,setup可以更好的拆分業(yè)務(wù),只把需要用到的公共參數(shù)和方法return出去使用,而不像mixin一樣完全侵入原有vue文件,再也不用考慮參數(shù)方法重名問題了,用到哪個取哪個,引入再多js也不怕。

一、setup函數(shù)的特性以及作用

可以確定的是 Vue3.0 是兼容 Vue2.x 版本的 也就是說我們再日常工作中 可以在 Vue3 中使用 Vue2.x 的相關(guān)語法 但是當(dāng)你真正開始使用 Vue3 寫項目時 你會發(fā)現(xiàn)他比 Vue2.x 方便的多

Vue3 的一大特性函數(shù) ---- setup

1、setup函數(shù)是處于 生命周期函數(shù) beforeCreate 和 Created 兩個鉤子函數(shù)之間的函數(shù) 也就說在 setup函數(shù)中是無法 使用 data 和 methods 中的數(shù)據(jù)和方法的

2、setup函數(shù)是 Composition API(組合API)的入口

3、在setup函數(shù)中定義的變量和方法最后都是需要 return 出去的 不然無法再模板中使用

二、setup函數(shù)的注意點:

1、由于在執(zhí)行 setup函數(shù)的時候,還沒有執(zhí)行 Created 生命周期方法,所以在 setup 函數(shù)中,無法使用 data 和 methods 的變量和方法

2、由于我們不能在 setup函數(shù)中使用 data 和 methods,所以 Vue 為了避免我們錯誤的使用,直接將 setup函數(shù)中的this修改成了 undefined

3、setup函數(shù)只能是同步的不能是異步的

用法1:結(jié)合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 里面設(shè)置接收參數(shù)

我們需要在 data 里面設(shè)置變量

我們需要在 computed 里面設(shè)置計算屬性

我們需要在 watch 里面設(shè)置監(jiān)聽屬性

我們需要在 methods 里面設(shè)置事件方法

你會發(fā)現(xiàn) Options APi 都約定了我們該在哪個位置做什么事,這反倒在一定程度上也強(qiáng)制我們進(jìn)行了代碼分割。

現(xiàn)在用 Composition API,不再這么約定了,于是乎,代碼組織非常靈活,我們的控制代碼寫在 setup 里面即可。

setup函數(shù)提供了兩個參數(shù) props和context,重要的是在setup函數(shù)里沒有了this,在 vue3.0 中,訪問他們變成以下形式: this.xxx=》context.xxx

我們沒有了 this 上下文,沒有了 Options API 的強(qiáng)制代碼分離。Composition API 給了我們更加廣闊的天地,那么我們更加需要慎重自約起來。

對于復(fù)雜的邏輯代碼,我們要更加重視起 Composition API 的初心,不要吝嗇使用 Composition API 來分離代碼,用來切割成各種模塊導(dǎo)出。

我們期望是這樣的:

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 內(nèi)容代碼量越來越大,但是始終圍繞著大而不亂,代碼結(jié)構(gòu)清晰的路子前進(jìn)。

總結(jié)

到此這篇關(guān)于vue3.0中setup的兩種用法的文章就介紹到這了,更多相關(guān)vue3.0中setup使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

上林县| 连城县| 枣阳市| 环江| 循化| 桐柏县| 九龙坡区| 洪洞县| 日土县| 太谷县| 麻栗坡县| 清徐县| 南雄市| 湟源县| 安吉县| 凤翔县| 伽师县| 环江| 杨浦区| 蕉岭县| 高雄县| 会宁县| 岢岚县| 昌图县| 永吉县| 天祝| 镇原县| 北流市| 玉树县| 米脂县| 宁远县| 章丘市| 涞源县| 金堂县| 甘南县| 大厂| 饶平县| 广元市| 宁安市| 庆城县| 漳浦县|