Vue學(xué)習(xí)的第十天

組件


#全局注冊(cè)

可以通過(guò)以下方式創(chuàng)建一個(gè) Vue 實(shí)例

new Vue({

? ? ?el:"#some-element",

? ? ?//選項(xiàng)

})

要注冊(cè)一個(gè)全局組件可以使用Vue.component(tagname, options)芒填, 組件在注冊(cè)之后,便可以作為自定義元素??在一個(gè)實(shí)例的模板中使用朱庆。注意確保在初始化根實(shí)例之前注冊(cè)組件

Vue.component("my-component", {

? ? ?//選項(xiàng)

})

#局部注冊(cè)

不必把每個(gè)組件都注冊(cè)到全局闷祥。你可以通過(guò)某個(gè) Vue 實(shí)例/組件的實(shí)例選項(xiàng)?components?注冊(cè)僅在其作用域中可用的組件:

var Child = {

? ? ?template:"<div>A custom component</div>"

}

new Vue({

? ? ?component:{

? ? ? ? ? ? //<my-component> 將只在父組件模板中可用

? ? ? ? ? ?"my-component":Child

? ? ?}

})

#data 必須是函數(shù)

構(gòu)造 Vue 實(shí)例時(shí)傳入的各種選項(xiàng)大多數(shù)都可以在組件里使用。只有一個(gè)例外:data?必須是函數(shù)箱硕。

<div id="example-2">

? ? ?<my-component></my-component>

</div>

Vue.component("my-component",{

? ? ?template:"<button v-on:click='counter += 1'>{{counter}}</button>",

? ? data:function(){

? ? ? ? ?return {counter:0}

? ? }

})

new Vue({

? ? ?el:"#example-2"

})

#組件組合

組件設(shè)計(jì)初衷就是要配合使用的悟衩,最常見(jiàn)的就是形成父子組件的關(guān)系:組件 A 在它的模板中使用了組件 B。它們之間必然需要相互通信:父組件可能要給子組件下發(fā)數(shù)據(jù)座泳,子組件則可能要將它內(nèi)部發(fā)生的事情告知父組件。然而舰罚,通過(guò)一個(gè)良好定義的接口來(lái)盡可能將父子組件解耦也是很重要的薛耻。這保證了每個(gè)組件的代碼可以在相對(duì)隔離的環(huán)境中書寫和理解赏陵,從而提高了其可維護(hù)性和復(fù)用性。

在 Vue 中蝙搔,父子組件的關(guān)系可以總結(jié)為?prop 向下傳遞,事件向上傳遞证鸥。父組件通過(guò)?prop?給子組件下發(fā)數(shù)據(jù)勤晚,子組件通過(guò)事件給父組件發(fā)送消息。

#使用Prop傳遞數(shù)據(jù)

組件實(shí)例的作用域是孤立的.這意味著不能在子組件的模板內(nèi)直接引用父組件的數(shù)據(jù).父組件的數(shù)據(jù)需要通過(guò)prop才能下發(fā)到子組件中.

子組件要顯示地用props選項(xiàng)聲明它預(yù)期的數(shù)據(jù)

Vue.co,ponent('child', {

? ? ?props:['message'],

? ? ?template:'<span>{{message}}</span>'

})

然后我們可以這樣向它傳入一個(gè)普通的字符串

<child message="hello"></child>

#camelCase vs kebab-case

HTML 特性是不區(qū)分大小寫的赐写。所以,當(dāng)使用的不是字符串模板時(shí)揉忘,camelCase (駝峰式命名) 的 prop 需要轉(zhuǎn)換為相對(duì)應(yīng)的 kebab-case (短橫線分隔式命名)

Vue.component('child',{

? ? ?props:["myMessage"],

? ? ?template:"<span>{{myMessage}}</span>"

})

<child my-message="hello"></child>

如果使用字符串模板,則沒(méi)有這些限制泣矛。

#動(dòng)態(tài)Prop

與綁定到HTML特性相類似,可以用v-bind來(lái)動(dòng)態(tài)的將prop綁定到父組件的數(shù)據(jù).每當(dāng)父組件的數(shù)據(jù)變化時(shí),該變化也會(huì)傳導(dǎo)給子組件

<div>

<input

?著作權(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)店門怜跑,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)吠勘,“玉大人,你說(shuō)我怎么就攤上這事植锉。” “怎么了俊庇?”我有些...
    開封第一講書人閱讀 163,912評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵鸡挠,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我鞋囊,道長(zhǎng)瞎惫,這世上最難降的妖魔是什么溜腐? 我笑而不...
    開封第一講書人閱讀 58,449評(píng)論 1 293
  • 正文 為了忘掉前任挺益,我火速辦了婚禮,結(jié)果婚禮上望众,老公的妹妹穿的比我還像新娘。我一直安慰自己夯缺,他們只是感情好甘耿,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,500評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著佳恬,像睡著了一般。 火紅的嫁衣襯著肌膚如雪垫言。 梳的紋絲不亂的頭發(fā)上倾剿,一...
    開封第一講書人閱讀 51,370評(píng)論 1 302
  • 那天,我揣著相機(jī)與錄音前痘,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛涵妥,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播窒所,決...
    沈念sama閱讀 40,193評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼帆锋,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了锯厢?” 一聲冷哼從身側(cè)響起脯倒,我...
    開封第一講書人閱讀 39,074評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤捺氢,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后悠反,有當(dāng)?shù)厝嗽跇淞掷锇l(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
  • 文/蒙蒙 一填硕、第九天 我趴在偏房一處隱蔽的房頂上張望鹿鳖。 院中可真熱鬧壮莹,春花似錦、人聲如沸垛孔。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,783評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)僵娃。三九已至,卻和暖如春讯榕,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背愚屁。 一陣腳步聲響...
    開封第一講書人閱讀 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)容

  • 下載安裝搭建環(huán)境 可以選npm安裝捏肢,或者簡(jiǎn)單下載一個(gè)開發(fā)版的vue.js文件 瀏覽器打開加載有vue的文檔時(shí)饥侵,控制...
    冥冥2017閱讀 6,039評(píng)論 0 42
  • Vue 實(shí)例 屬性和方法 每個(gè) Vue 實(shí)例都會(huì)代理其 data 對(duì)象里所有的屬性:var data = { a:...
    云之外閱讀 2,209評(píng)論 0 6
  • 這篇筆記主要包含 Vue 2 不同于 Vue 1 或者特有的內(nèi)容躏升,還有我對(duì)于 Vue 1.0 印象不深的內(nèi)容狼忱。關(guān)于...
    云之外閱讀 5,050評(píng)論 0 29
  • 1.安裝 可以簡(jiǎn)單地在頁(yè)面引入Vue.js作為獨(dú)立版本一睁,Vue即被注冊(cè)為全局變量佃却,可以在頁(yè)面使用了者吁。 如果希望搭建...
    Awey閱讀 11,018評(píng)論 4 129
  • ①『避免三種不幸』 001有時(shí)候复凳,詩(shī)意和遠(yuǎn)方并不一定如你想象中的美好蓝牲。 002不要把希望寄托于未來(lái),珍惜當(dāng)下赦邻,平和...
    咿呀作語(yǔ)閱讀 230評(píng)論 0 0