1-1 vue定義組件模板的七種方式

1、單文件組件

<template>
<div class="title">{{this.title}}</div>
</template>
<script>
export default { 
    data() {
        return {title: '單文件組件' }
    }
}
</script>

2葵第、x-template

另一個(gè)定義模板的方式是在一個(gè) <script>元素上,并為其帶上 text/x-template 的類(lèi)型合溺,然后通過(guò)一個(gè) id 將模板引用過(guò)去卒密。例如: 元素中,并為其帶上 text/x-template 的類(lèi)型棠赛,然后通過(guò)一個(gè) id 將模板引用過(guò)去 元素中哮奇,并為其帶上 text/x-template 的類(lèi)型膛腐,然后通過(guò)一個(gè) id 將模板引用過(guò)去 元素中

<script type="text/x-template" id="hello">
<div class="title">{title}}</div>
</script>
Vue.component('custom-component03',{
    template: '#hello',
    data() { return {title: 'x-template' } }
});
<custom-component03></custom-component03>

3、字符串

默認(rèn)情況下鼎俘,模板會(huì)被定義為一個(gè)字符串

Vue.component('custom-component01', {
    template: `<div>{{title}}</div>`,
    data() { return {title: 'Check me' } }
});
<custom-component01></custom-component01>

4哲身、模板字面量

ES6 模板字面量允許你使用多行定義模板,這在常規(guī) JavaScript 字符串中是不被允許的贸伐。此方式閱讀體驗(yàn)更佳勘天,并在許多現(xiàn)代瀏覽器中得到支持,不過(guò)安全起見(jiàn)你還是需要把代碼轉(zhuǎn)換成 ES5 捉邢。

Vue.component('custom-component02', {
    template: `
    <div>
        <div class="title">{{this.title}}</div>
       <div :class="{ checkbox: checkbox}"></div>
    </div>`,
    data() { return {title: '模板字面量' ,checkbox: true} }
});
<custom-component02></custom-component02>

5脯丝、內(nèi)聯(lián)模板inline-template

當(dāng) inline-template 這個(gè)特殊的特性出現(xiàn)在一個(gè)子組件上時(shí),這個(gè)組件將會(huì)使用其里面的內(nèi)容作為模板歌逢,而不是將其作為被分發(fā)的內(nèi)容

<script>
Vue.component('custom-component04', { 
  data(){ return {title:'內(nèi)聯(lián)模板!'} } 
})
</script>
<custom-component04   inline-template>
    <div class="title">{{title}}</div>
</custom-component04>

不過(guò)巾钉,inline-template 會(huì)讓你模板的作用域變得更加難以理解

6、渲染函數(shù)(Render)

渲染函數(shù)需要你把模板當(dāng)作一個(gè)JavaScript對(duì)象來(lái)進(jìn)行定義秘案,它們是一些復(fù)雜并且抽象的模板選項(xiàng)。
然而潦匈,它的優(yōu)點(diǎn)是你定義的模板更接近編譯器阱高,你可以使用所有JavaScript方法,而不是指令提供的那些功能茬缩。

<script>
Vue.component('custom-component05', {
    data(){
        return { 'title':'渲染函數(shù)'}
    },
    render(createElement) {
        return createElement( 'div', { attrs: { 'class': 'title' } }, [ this.title ] );
    }
})
</script>
<custom-component05></custom-component05>

7赤惊、JSX語(yǔ)法

<script>
Vue.component('custom-component05', {
  data(){
      return { title:'我是jsx模板'}
  },
  render() {
      return <div>
        {this.title}
      </div>
  }
})
</script>
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市凰锡,隨后出現(xiàn)的幾起案子未舟,更是在濱河造成了極大的恐慌,老刑警劉巖掂为,帶你破解...
    沈念sama閱讀 212,542評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件裕膀,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡勇哗,警方通過(guò)查閱死者的電腦和手機(jī)昼扛,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,596評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)欲诺,“玉大人抄谐,你說(shuō)我怎么就攤上這事∪欧ǎ” “怎么了蛹含?”我有些...
    開(kāi)封第一講書(shū)人閱讀 158,021評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)塞颁。 經(jīng)常有香客問(wèn)我浦箱,道長(zhǎng)卧斟,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,682評(píng)論 1 284
  • 正文 為了忘掉前任憎茂,我火速辦了婚禮珍语,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘竖幔。我一直安慰自己板乙,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,792評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布拳氢。 她就那樣靜靜地躺著募逞,像睡著了一般。 火紅的嫁衣襯著肌膚如雪馋评。 梳的紋絲不亂的頭發(fā)上放接,一...
    開(kāi)封第一講書(shū)人閱讀 49,985評(píng)論 1 291
  • 那天,我揣著相機(jī)與錄音留特,去河邊找鬼纠脾。 笑死,一個(gè)胖子當(dāng)著我的面吹牛蜕青,可吹牛的內(nèi)容都是我干的苟蹈。 我是一名探鬼主播,決...
    沈念sama閱讀 39,107評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼右核,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼慧脱!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起贺喝,我...
    開(kāi)封第一講書(shū)人閱讀 37,845評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤菱鸥,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后躏鱼,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體氮采,經(jīng)...
    沈念sama閱讀 44,299評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,612評(píng)論 2 327
  • 正文 我和宋清朗相戀三年挠他,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了扳抽。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,747評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡殖侵,死狀恐怖贸呢,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情拢军,我是刑警寧澤楞陷,帶...
    沈念sama閱讀 34,441評(píng)論 4 333
  • 正文 年R本政府宣布,位于F島的核電站茉唉,受9級(jí)特大地震影響固蛾,放射性物質(zhì)發(fā)生泄漏结执。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,072評(píng)論 3 317
  • 文/蒙蒙 一艾凯、第九天 我趴在偏房一處隱蔽的房頂上張望献幔。 院中可真熱鬧,春花似錦趾诗、人聲如沸蜡感。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,828評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)郑兴。三九已至,卻和暖如春贝乎,著一層夾襖步出監(jiān)牢的瞬間情连,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,069評(píng)論 1 267
  • 我被黑心中介騙來(lái)泰國(guó)打工览效, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留却舀,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,545評(píng)論 2 362
  • 正文 我出身青樓朽肥,卻偏偏與公主長(zhǎng)得像禁筏,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子衡招,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,658評(píng)論 2 350

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

  • 這篇筆記主要包含 Vue 2 不同于 Vue 1 或者特有的內(nèi)容,還有我對(duì)于 Vue 1.0 印象不深的內(nèi)容每强。關(guān)于...
    云之外閱讀 5,046評(píng)論 0 29
  • 1.安裝 可以簡(jiǎn)單地在頁(yè)面引入Vue.js作為獨(dú)立版本始腾,Vue即被注冊(cè)為全局變量,可以在頁(yè)面使用了空执。 如果希望搭建...
    Awey閱讀 11,003評(píng)論 4 129
  • Vue 實(shí)例 屬性和方法 每個(gè) Vue 實(shí)例都會(huì)代理其 data 對(duì)象里所有的屬性:var data = { a:...
    云之外閱讀 2,204評(píng)論 0 6
  • 什么是組件浪箭? 組件 (Component) 是 Vue.js 最強(qiáng)大的功能之一。組件可以擴(kuò)展 HTML 元素辨绊,封裝...
    youins閱讀 9,466評(píng)論 0 13
  • 組件(Component)是Vue.js最核心的功能奶栖,也是整個(gè)架構(gòu)設(shè)計(jì)最精彩的地方,當(dāng)然也是最難掌握的门坷。...
    六個(gè)周閱讀 5,587評(píng)論 0 32