【Vue】全局組件(最簡單的基礎(chǔ)用法)

微信訂閱號:Rabbit_svip

由于是基礎(chǔ)用法,這里暫時不講在 webpack 里怎么寫組件险绘。
Vue的組件最大的作用就是偷懶( ** 一次成型暮刃,多次調(diào)用 ** )。

本節(jié)講解順序:

  1. 先給代碼
  2. 看效果
  3. 講解代碼

HTML結(jié)構(gòu)
<body>
    <div id="app">
        <rabbit></rabbit>
        <rabbit></rabbit>
        <rabbit></rabbit>
        <rabbit></rabbit>
        <rabbit></rabbit>
        <rabbit></rabbit>
    </div>
</body>

這里有6個 <rabbit> 標簽右钾。很明顯,原生 HTML 是沒有 <rabbit> 標簽的旱爆。
在 JS 里定義組件舀射,讓 <rabbit> 標簽活起來。

onload = () => {
    Vue.component('rabbit', {
        template: `
            <div>
                <button @click="on_click">{{msg}}</button>
                <p>這里是組件的子標簽?zāi)?lt;/P>
            </div>`,
        data: function() {
            return {
                msg: "Rabbit"
            }
        },
        methods: {
            on_click: function() {
                alert("I\'m Rabbit");
            }
        }
    });

    new Vue({
        el: '#app'    })
}

可以看看


微信訂閱號:Rabbit_svip

因為使用了同一個組件怀伦,所以功能是完全一樣的脆烟。


在 HTML 結(jié)構(gòu)里,基本不用管什么房待。直接用自己設(shè)置好的組件名就行邢羔。我這里設(shè)置了一個 “rabbit” 的組件名。

在 JS 中桑孩,設(shè)置全局組件拜鹤,用到的關(guān)鍵字是 “component”。
要設(shè)置的2個參數(shù)流椒。
第一個是組件名敏簿。
第二個是組件的布局和功能。

Vue.component( ‘ 組件名 ‘ , { 組件的布局和功能 } );


在第二個參數(shù)里宣虾,是一個對象惯裕。
里面放了一個 template ,用來設(shè)置組件的布局绣硝。

需要注意的是蜻势,template 里,只能有一個 主標簽域那,然后用 主標簽 包著其他子標簽咙边。

【template】

template: `
     <div>
        <button @click="on_click">{{msg}}</button>
         <p>這里是組件的子標簽?zāi)?lt;/P>
     </div>`

我這里用了 es6 的語法猜煮,所以可以換行次员。如果用單引號或者雙引號括著的話,就只能在一行里把所有布局寫完王带。

下面的寫法是錯誤的
template: `
     <button @click="on_click">{{msg}}</button>
     <p>這里是組件的子標簽?zāi)?lt;/P>
`,

因為 template 里面有2個標簽淑蔚,但又沒有被主標簽包起來。

在Vue里的template就只有這個限制(一個組件有且只有一個 根元素)愕撰。還是很好接受的刹衫。




【data】
在 component 里的 data 和普通 Vue 實例里的 data 稍微有點不同醋寝。

data: function() {
    return {
        msg: "Rabbit"
    }
},

因為組件是可以重復調(diào)用的,所以 component 里的 data 要放在一個函數(shù)里带迟,通過 return 返回音羞,這和原生js有關(guān),這里暫時不多講解仓犬。只要記住嗅绰,在組件里,data 是要通過一個 function搀继,return 一個對象窘面。




【methods】
methods 的用法,平時怎么用叽躯,在 component 里就怎么用财边。

methods: {
    on_click: function() {
        alert("I\'m Rabbit");
    }
}




最后,一定要有一個Vue對象点骑,用來指定HTML里的元素酣难。

new Vue({
    el: '#app'
})
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市黑滴,隨后出現(xiàn)的幾起案子鲸鹦,更是在濱河造成了極大的恐慌,老刑警劉巖跷跪,帶你破解...
    沈念sama閱讀 218,204評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件馋嗜,死亡現(xiàn)場離奇詭異,居然都是意外死亡吵瞻,警方通過查閱死者的電腦和手機葛菇,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,091評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來橡羞,“玉大人眯停,你說我怎么就攤上這事∏湓螅” “怎么了莺债?”我有些...
    開封第一講書人閱讀 164,548評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長签夭。 經(jīng)常有香客問我齐邦,道長,這世上最難降的妖魔是什么第租? 我笑而不...
    開封第一講書人閱讀 58,657評論 1 293
  • 正文 為了忘掉前任措拇,我火速辦了婚禮,結(jié)果婚禮上慎宾,老公的妹妹穿的比我還像新娘丐吓。我一直安慰自己浅悉,他們只是感情好,可當我...
    茶點故事閱讀 67,689評論 6 392
  • 文/花漫 我一把揭開白布券犁。 她就那樣靜靜地躺著术健,像睡著了一般。 火紅的嫁衣襯著肌膚如雪粘衬。 梳的紋絲不亂的頭發(fā)上苛坚,一...
    開封第一講書人閱讀 51,554評論 1 305
  • 那天,我揣著相機與錄音色难,去河邊找鬼泼舱。 笑死,一個胖子當著我的面吹牛枷莉,可吹牛的內(nèi)容都是我干的娇昙。 我是一名探鬼主播,決...
    沈念sama閱讀 40,302評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼笤妙,長吁一口氣:“原來是場噩夢啊……” “哼冒掌!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起蹲盘,我...
    開封第一講書人閱讀 39,216評論 0 276
  • 序言:老撾萬榮一對情侶失蹤股毫,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后召衔,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體铃诬,經(jīng)...
    沈念sama閱讀 45,661評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,851評論 3 336
  • 正文 我和宋清朗相戀三年苍凛,在試婚紗的時候發(fā)現(xiàn)自己被綠了趣席。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,977評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡醇蝴,死狀恐怖宣肚,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情悠栓,我是刑警寧澤霉涨,帶...
    沈念sama閱讀 35,697評論 5 347
  • 正文 年R本政府宣布,位于F島的核電站惭适,受9級特大地震影響笙瑟,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜腥沽,卻給世界環(huán)境...
    茶點故事閱讀 41,306評論 3 330
  • 文/蒙蒙 一逮走、第九天 我趴在偏房一處隱蔽的房頂上張望鸠蚪。 院中可真熱鬧今阳,春花似錦师溅、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,898評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至妖谴,卻和暖如春窿锉,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背膝舅。 一陣腳步聲響...
    開封第一講書人閱讀 33,019評論 1 270
  • 我被黑心中介騙來泰國打工嗡载, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人仍稀。 一個月前我還...
    沈念sama閱讀 48,138評論 3 370
  • 正文 我出身青樓洼滚,卻偏偏與公主長得像,于是被迫代替她去往敵國和親技潘。 傳聞我的和親對象是個殘疾皇子遥巴,可洞房花燭夜當晚...
    茶點故事閱讀 44,927評論 2 355

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