Vue.js 組件

建議學(xué)習(xí)時(shí)長(zhǎng): 45分鐘
學(xué)習(xí)方式:了解

學(xué)習(xí)目標(biāo)

  • 知道如何創(chuàng)建組件。
  • 知道如何向組件傳值罢吃。
  • 知道如何處理組件觸發(fā)的事件。

詳細(xì)介紹

組件 (Component) 是 Vue.js 最強(qiáng)大的功能之一疾捍。組件可以擴(kuò)展 HTML 元素男杈,封裝可重用的代碼。在較高層面上糟袁,組件是自定義元素判族,Vue.js 的編譯器為它添加特殊功能。

通讀組件的介紹项戴。

組件通信

父組件傳遞數(shù)據(jù)給子組件

父組件使用 Prop 傳遞數(shù)據(jù)給子組件形帮。

<child-component :prop1="父組件的數(shù)據(jù)1" :prop2="父組件的數(shù)據(jù)2"></child-component>

子組件只接收在子組件定義的 props的值。通過(guò) this.prop名稱 獲得父組件傳數(shù)據(jù)周叮。

// 子組件
Vue.component('child-component', {
  props: ['prop1', 'prop2'], // 定義接收哪些 props
  template: '<div>{{prop1 + prop2}}</div>',
  ...
}

父組件調(diào)用子組件屬性或方法

給要調(diào)用的子組件起個(gè)名字辩撑。將名字設(shè)置為子組件 rel 屬性的值。

<!-- 子組件仿耽。 ref的值是組件引用的名稱 -->
<child-component ref="aName"></child-component>

父組件中通過(guò) $refs.組件名 來(lái)獲得子組件合冀,也就可以調(diào)用子組件的屬性和方法了。

var child = this.$refs.aName
child.屬性
child.方法()

父組件通過(guò) $children 可以獲得所有直接子組件(父組件的子組件的子組件不是直接子組件)项贺。需要注意 $children 并不保證順序君躺,也不是響應(yīng)式的。

Vue 在 V2.1.0 版本后增加了的 Scoped Slots 的特性敬扛。該特性支持在子組件的 slot 中用子組件的數(shù)據(jù)晰洒。用法是:子組件在 slot 上定義傳給父組件的數(shù)據(jù),父組件通過(guò) scope 屬性來(lái)拿子組件數(shù)據(jù)啥箭。如

<!-- 子組件 -->
<slot :describe="describe"></slot>

<!-- 父組件 -->
<child-component >
  <template scope="childScope">
    子元素傳給父組件的數(shù)據(jù):{{childScope.describe}}
  </template>
</child-component>

詳情見(jiàn)這里谍珊。

子組件傳遞數(shù)據(jù)給父組件

子組件通過(guò)事件傳遞父組件傳數(shù)據(jù)。子組件通過(guò)$emit(eventName)觸發(fā)事件急侥,父組件通過(guò)$on(eventName)監(jiān)聽(tīng)事件砌滞。

<child-component @somesth-happen="handlerHappen"></child-component>

somesth-happen 是事件名稱侮邀,handlerHappen 是觸發(fā)后,父組件的處理函數(shù)贝润。

子組件調(diào)用父組件屬性或方法

子組件通過(guò) $parent 獲得父組件绊茧,通過(guò) $root 獲得最上層的組件。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末打掘,一起剝皮案震驚了整個(gè)濱河市华畏,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌尊蚁,老刑警劉巖亡笑,帶你破解...
    沈念sama閱讀 217,542評(píng)論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異横朋,居然都是意外死亡仑乌,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門(mén)琴锭,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)晰甚,“玉大人,你說(shuō)我怎么就攤上這事决帖〔蘧牛” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 163,912評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵古瓤,是天一觀的道長(zhǎng)止剖。 經(jīng)常有香客問(wèn)我腺阳,道長(zhǎng)落君,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,449評(píng)論 1 293
  • 正文 為了忘掉前任亭引,我火速辦了婚禮绎速,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘焙蚓。我一直安慰自己纹冤,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,500評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布购公。 她就那樣靜靜地躺著萌京,像睡著了一般。 火紅的嫁衣襯著肌膚如雪宏浩。 梳的紋絲不亂的頭發(fā)上知残,一...
    開(kāi)封第一講書(shū)人閱讀 51,370評(píng)論 1 302
  • 那天,我揣著相機(jī)與錄音比庄,去河邊找鬼求妹。 笑死乏盐,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的制恍。 我是一名探鬼主播父能,決...
    沈念sama閱讀 40,193評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼净神!你這毒婦竟也來(lái)了何吝?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,074評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤鹃唯,失蹤者是張志新(化名)和其女友劉穎岔霸,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體俯渤,經(jīng)...
    沈念sama閱讀 45,505評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡呆细,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,722評(píng)論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了八匠。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片絮爷。...
    茶點(diǎn)故事閱讀 39,841評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖梨树,靈堂內(nèi)的尸體忽然破棺而出坑夯,到底是詐尸還是另有隱情,我是刑警寧澤抡四,帶...
    沈念sama閱讀 35,569評(píng)論 5 345
  • 正文 年R本政府宣布犬绒,位于F島的核電站姥闭,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜雕旨,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,168評(píng)論 3 328
  • 文/蒙蒙 一糕伐、第九天 我趴在偏房一處隱蔽的房頂上張望饲宿。 院中可真熱鬧魁索,春花似錦、人聲如沸勉耀。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,783評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)便斥。三九已至至壤,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間枢纠,已是汗流浹背像街。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,918評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人宅广。 一個(gè)月前我還...
    沈念sama閱讀 47,962評(píng)論 2 370
  • 正文 我出身青樓葫掉,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親跟狱。 傳聞我的和親對(duì)象是個(gè)殘疾皇子俭厚,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,781評(píng)論 2 354

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

  • 什么是組件 組件(Component)是 Vue.js 最強(qiáng)大的功能之一。組件可以擴(kuò)展 HTML 元素驶臊,封裝可重用...
    angelwgh閱讀 784評(píng)論 0 0
  • 本文章是我最近在公司的一場(chǎng)內(nèi)部分享的內(nèi)容挪挤。我有個(gè)習(xí)慣就是每次分享都會(huì)先將要分享的內(nèi)容寫(xiě)成文章。所以這個(gè)文集也是用來(lái)...
    Awey閱讀 9,451評(píng)論 4 67
  • 有一篇非常棒的關(guān)于vue.js的組件的文章关翎,寫(xiě)的特別好扛门,特別清楚,容易理解纵寝。鏈接:上篇:http://www.cn...
    恰皮閱讀 1,774評(píng)論 0 8
  • 一论寨、組件 組件,可以說(shuō)是現(xiàn)代前端框架中必不可少的組成部分爽茴。使用組件葬凳,不僅能極大地提高代碼的復(fù)用率和開(kāi)發(fā)者的開(kāi)發(fā)效率...
    ebfc7d0362e4閱讀 1,042評(píng)論 2 6
  • 《分享經(jīng)濟(jì)》,本書(shū)介紹了國(guó)內(nèi)外大量分享/共享經(jīng)濟(jì)的企業(yè)案例和國(guó)家政策室奏。充分運(yùn)用閑置資源火焰,并將其經(jīng)濟(jì)化的時(shí)代已經(jīng)到來(lái)...
    FrankCoach閱讀 368評(píng)論 0 0