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

vue3.0中setup使用(兩種用法)

 更新時(shí)間:2020年12月02日 14:30:53   作者:前端小99  
這篇文章主要介紹了vue3.0中setup使用,本文通過兩種用法給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

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

  可以確定的是 Vue3.0 是兼容 Vue2.x 版本的 也就是說我們?cè)偃粘9ぷ髦?可以在 Vue3 中使用 Vue2.x 的相關(guān)語法 但是當(dāng)你真正開始使用 Vue3 寫項(xiàng)目時(shí) 你會(huì)發(fā)現(xiàn)他比 Vue2.x 方便的多

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

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

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

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

二、setup函數(shù)的注意點(diǎn)

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

  2、由于我們不能在 setup函數(shù)中使用 data 和 methods,所以 Vue 為了避免我們錯(cuò)誤的使用,直接將 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è)置計(jì)算屬性

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

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

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

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

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

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

對(duì)于復(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)。

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

相關(guān)文章

  • vue3.0如何在全局掛載對(duì)象和方法

    vue3.0如何在全局掛載對(duì)象和方法

    這篇文章主要介紹了vue3.0如何在全局掛載對(duì)象和方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • Vue3中引入、封裝和使用svg矢量圖的實(shí)現(xiàn)示例

    Vue3中引入、封裝和使用svg矢量圖的實(shí)現(xiàn)示例

    SVG全稱Scalable Vector Graphics,它是網(wǎng)絡(luò)上使用最廣泛的矢量圖格式,在項(xiàng)目開發(fā)過程中,我們經(jīng)常會(huì)用到svg矢量圖,而且我們使用svg以后,頁面上加載的不再是圖片資源,本文將給大家介紹Vue3中引入、封裝和使用svg矢量圖的實(shí)現(xiàn)示例,需要的朋友可以參考下
    2024-07-07
  • vue在頁面和方法中如何通過遍歷對(duì)象獲取對(duì)象的鍵(key)和值(value)

    vue在頁面和方法中如何通過遍歷對(duì)象獲取對(duì)象的鍵(key)和值(value)

    這篇文章主要介紹了vue在頁面和方法中如何通過遍歷對(duì)象獲取對(duì)象的鍵(key)和值(value)問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • 對(duì)Vue table 動(dòng)態(tài)表格td可編輯的方法詳解

    對(duì)Vue table 動(dòng)態(tài)表格td可編輯的方法詳解

    今天小編就為大家分享一篇對(duì)Vue table 動(dòng)態(tài)表格td可編輯的方法詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-08-08
  • vue3+ts中定義ref變量,設(shè)置變量類型方式

    vue3+ts中定義ref變量,設(shè)置變量類型方式

    這篇文章主要介紹了vue3+ts中定義ref變量,設(shè)置變量類型方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • vue路由相對(duì)路徑跳轉(zhuǎn)方式

    vue路由相對(duì)路徑跳轉(zhuǎn)方式

    這篇文章主要介紹了vue路由相對(duì)路徑跳轉(zhuǎn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • ElementUI時(shí)間選擇器限制選擇范圍disabledData的使用

    ElementUI時(shí)間選擇器限制選擇范圍disabledData的使用

    本文主要介紹了ElementUI時(shí)間選擇器限制選擇范圍disabledData的使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • 優(yōu)雅地使用loading(推薦)

    優(yōu)雅地使用loading(推薦)

    這篇文章主要介紹了在Vue和React中如何優(yōu)雅地使用loading,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • 詳細(xì)聊聊Vue中的MVVM模式原理

    詳細(xì)聊聊Vue中的MVVM模式原理

    MVVM旨在利用WPF中的數(shù)據(jù)綁定函數(shù),通過從視圖層中幾乎刪除所有GUI代碼(代碼隱藏),更好地促進(jìn)視圖層開發(fā)與模式其余部分的分離,這篇文章主要給大家介紹了關(guān)于Vue.js中MVVM的相關(guān)資料,需要的朋友可以參考下
    2023-03-03
  • 2023年最新的vue.js下載和安裝的3種方法詳解

    2023年最新的vue.js下載和安裝的3種方法詳解

    這篇文章主要介紹了2023年最新的vue.js下載和安裝的3種方法,每種方法結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2023-05-05

最新評(píng)論

平泉县| 昌都县| 东明县| 长沙市| 连云港市| 顺平县| 慈溪市| 聂拉木县| 运城市| 常山县| 灵寿县| 岳阳市| 栾川县| 锡林浩特市| 广州市| 克什克腾旗| 泸水县| 华亭县| 靖远县| 漯河市| 延川县| 阿瓦提县| 东安县| 泉州市| 江孜县| 中阳县| 循化| 思南县| 延安市| 格尔木市| 句容市| 靖宇县| 乌鲁木齐县| 左云县| 巴中市| 巩义市| 盐源县| 辽源市| 青岛市| 昌平区| 九龙县|