Vue3.0的組合API

1.組合API-setup()

1.組合API的起點(diǎn),將來的組合API的代碼报慕,基本上在這里定義
2.可以理解為:在beforeCreate鉤子執(zhí)行前執(zhí)行,組件實(shí)例創(chuàng)建前
3.函數(shù)中不能使用this ==>undefined
4.模板中需要使用的數(shù)據(jù)宙攻,需要在setup()返回

<template>
  <div @click="searchClick">{{ message }}</div>
</template>

<script>
import { defineComponent, onMounted, ref } from "vue";

export default defineComponent({
  components: {},
  setup() {
    const message = "搜索";
    const searchClick = () => {
      console.log("搜索成功");
    };
    return { searchClick, message };
  },
});
</script>

<style scoped lang="less"></style>

2.組合AIP-生命周期

認(rèn)識(shí)vue3.0生命周期鉤子函數(shù)

setup 創(chuàng)建實(shí)例前
onBeforeMount 掛載DOM前
onMounted 掛載DOM后
onBeforeUpdate 更新組件前
onUpdated 更新組件后
onBeforeUnmount 卸載銷毀前
onUnmounted 卸載銷毀后

<template>
  <div class="container">
    container
  </div>
</template>
<script>
import { onBeforeMount, onMounted } from 'vue'
export default {
  setup () {
    onBeforeMount(()=>{
      console.log('DOM渲染前',document.querySelector('.container'))
    })
   //DOM元素渲染后需要執(zhí)行的邏輯
  //比如echarts需要將數(shù)據(jù)掛載到DOM中,就需要等DOM元素創(chuàng)建完成再執(zhí)行
    onMounted(()=>{
      console.log('DOM渲染后1',document.querySelector('.container'))
    })
    onMounted(()=>{
      console.log('DOM渲染后2',document.querySelector('.container'))
    })
  },
}
</script>

3.組合API-reactive()

定義響應(yīng)式數(shù)據(jù):

reactive是一個(gè)函數(shù)孕锄,它可以定義一個(gè)復(fù)雜數(shù)據(jù)類型,成為響應(yīng)式數(shù)據(jù)苞尝。
用來改變驅(qū)動(dòng)視圖的數(shù)據(jù)
通常用來定義響應(yīng)式數(shù)據(jù)

<template>
  <div>
    <span>{{ test.name }}</span>
    <span>{{ test.age }}</span>
    <div @click="editClick()">查看</div>
  </div>
</template>

<script>
import { defineComponent, onMounted, ref, reactive } from "vue";

export default defineComponent({
  components: {},
  setup() {
    const test = reactive({
      name: "ays",
      age: 18,
    });
    const editClick = () => {
      test.name = "xc";
    };

    return { editClick, test };
  },
});
</script>

<style scoped lang="less"></style>

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末畸肆,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子宙址,更是在濱河造成了極大的恐慌轴脐,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,589評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件抡砂,死亡現(xiàn)場離奇詭異大咱,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)注益,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,615評(píng)論 3 396
  • 文/潘曉璐 我一進(jìn)店門碴巾,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人丑搔,你說我怎么就攤上這事厦瓢。” “怎么了啤月?”我有些...
    開封第一講書人閱讀 165,933評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵煮仇,是天一觀的道長。 經(jīng)常有香客問我谎仲,道長浙垫,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,976評(píng)論 1 295
  • 正文 為了忘掉前任强重,我火速辦了婚禮绞呈,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘间景。我一直安慰自己,他們只是感情好艺智,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,999評(píng)論 6 393
  • 文/花漫 我一把揭開白布倘要。 她就那樣靜靜地躺著,像睡著了一般十拣。 火紅的嫁衣襯著肌膚如雪封拧。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,775評(píng)論 1 307
  • 那天夭问,我揣著相機(jī)與錄音泽西,去河邊找鬼。 笑死缰趋,一個(gè)胖子當(dāng)著我的面吹牛捧杉,可吹牛的內(nèi)容都是我干的陕见。 我是一名探鬼主播,決...
    沈念sama閱讀 40,474評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼味抖,長吁一口氣:“原來是場噩夢啊……” “哼评甜!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起仔涩,我...
    開封第一講書人閱讀 39,359評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤忍坷,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后熔脂,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體佩研,經(jīng)...
    沈念sama閱讀 45,854評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,007評(píng)論 3 338
  • 正文 我和宋清朗相戀三年霞揉,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了韧骗。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,146評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡零聚,死狀恐怖袍暴,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情隶症,我是刑警寧澤政模,帶...
    沈念sama閱讀 35,826評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站蚂会,受9級(jí)特大地震影響淋样,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜胁住,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,484評(píng)論 3 331
  • 文/蒙蒙 一趁猴、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧彪见,春花似錦儡司、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,029評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至酵镜,卻和暖如春碉碉,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背淮韭。 一陣腳步聲響...
    開封第一講書人閱讀 33,153評(píng)論 1 272
  • 我被黑心中介騙來泰國打工垢粮, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人靠粪。 一個(gè)月前我還...
    沈念sama閱讀 48,420評(píng)論 3 373
  • 正文 我出身青樓蜡吧,卻偏偏與公主長得像毫蚓,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子斩跌,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,107評(píng)論 2 356

推薦閱讀更多精彩內(nèi)容

  • 為什么要使用Composition API? 根據(jù)官方的說法绍些,vue3.0的變化包括性能上的改進(jìn)、更小的 bund...
    CherieH閱讀 1,822評(píng)論 0 1
  • setup setup函數(shù)是一個(gè)新的組件選項(xiàng)耀鸦。作為在組件內(nèi)使用 Composition API 的入口點(diǎn)柬批。 調(diào)用時(shí)...
    裘馬輕狂大帥閱讀 1,631評(píng)論 0 0
  • vite腳手架創(chuàng)建項(xiàng)目 1、全局安裝vite腳手架 2袖订、使用腳手架創(chuàng)建項(xiàng)目 3氮帐、進(jìn)入項(xiàng)目文件夾 4、安裝依賴 5洛姑、...
    微芒不朽閱讀 5,386評(píng)論 0 19
  • setup setup 是一個(gè)新的組件選項(xiàng)上沐,作為組件中使用組合API的起點(diǎn)。 從組件生命周期來看楞艾,它的執(zhí)行在組件實(shí)...
    東邪_黃藥師閱讀 309評(píng)論 0 3
  • Vue3 API 匯總手冊(cè) setup setup 函數(shù)是一個(gè)新的組件選項(xiàng)参咙。作為在組件內(nèi)使用 Compositio...
    硅谷干貨閱讀 1,657評(píng)論 0 14