溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Vue函數(shù)式組件的示例分析

發(fā)布時(shí)間:2021-08-19 11:35:01 來源:億速云 閱讀:161 作者:小新 欄目:web開發(fā)

這篇文章將為大家詳細(xì)講解有關(guān)Vue函數(shù)式組件的示例分析,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

函數(shù)式組件特點(diǎn):

  • 沒有管理任何狀態(tài)

  • 沒有監(jiān)聽任何傳遞給它的狀態(tài)

  • 沒有生命周期方法

  • 它只是接收一些prop的函

我們將這樣的組件標(biāo)記為functional:

  • 無狀態(tài) == 無響應(yīng)式數(shù)據(jù)

  • 無實(shí)例 == 無this上下文

函數(shù)式組件的優(yōu)點(diǎn):

渲染開銷低,因?yàn)楹瘮?shù)式組件只是函數(shù);

函數(shù)式組件基本寫法:

 {
 functional: true,
 // Props 是可選的
 props: {
 // ...
 },
 // 為了彌補(bǔ)缺少的實(shí)例
 // 提供第二個(gè)參數(shù)作為上下文
 render: function (createElement, context) {
 // ...
 }
}

下面在通過代碼給大家詳細(xì)介紹vue函數(shù)式組件,具體代碼如下所示;

{
 functional: true,
 // Props 是可選的
 props: {
 // ...
 },
 // 為了彌補(bǔ)缺少的實(shí)例
 // 提供第二個(gè)參數(shù)作為上下文
 render: function (createElement, context) {
 // ...
 }
}

組件需要的一切都是通過 context 參數(shù)傳遞,它是一個(gè)包含如下字段的對(duì)象:

  • props: 提供所有prop的對(duì)象

  • children:VNode 子節(jié)點(diǎn)的數(shù)組

  • slots: 一個(gè)函數(shù),返回了包含所有插槽的對(duì)象

  • scoptedSlots:(2.6.0) 一個(gè)暴露傳入的作用域插槽的對(duì)象,也以函數(shù)形式暴露普通插槽

  • data:傳遞個(gè)組件的整個(gè) 數(shù)據(jù)對(duì)象 ,作為createElement的第二個(gè)參數(shù)傳入組件

  • parent:對(duì)父組件的引用

  • listeners:(2.3.0+) 一個(gè)包含了:所有父組件為當(dāng)前組件祖冊(cè)的事件監(jiān)聽器對(duì)象,是data.on的一個(gè)別名

  • injections:(2.3.0+) 如果使用了inject選項(xiàng),則改對(duì)象包含了:應(yīng)當(dāng)被注入的屬性;

關(guān)于“Vue函數(shù)式組件的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

vue
AI