成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

Vue中怎么定義組件模版-創(chuàng)新互聯(lián)

Vue 中怎么定義組件模版,針對這個問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

創(chuàng)新互聯(lián)建站專注于承留企業(yè)網(wǎng)站建設(shè),自適應(yīng)網(wǎng)站建設(shè),商城系統(tǒng)網(wǎng)站開發(fā)。承留網(wǎng)站建設(shè)公司,為承留等地區(qū)提供建站服務(wù)。全流程按需設(shè)計,專業(yè)設(shè)計,全程項目跟蹤,創(chuàng)新互聯(lián)建站專業(yè)和態(tài)度為您提供的服務(wù)

字符串形式

Vue 最簡單直接的一種定義組件模版的方式,但是方式寫起來很不友好,就像我們以前拼接 HTML 元素是一樣的,很痛苦,所以我們并不常用

Vue.component("my-button", {
 data: function () {
 return {
  label: "是兄弟就來砍我"
 }
 },
 template: "<button>{{label}}</button>"
});

模版字面量

模版字面量 ES6 語法,與字符串不同的是,我們可以進(jìn)行多行書寫,相對單純字符串有很大優(yōu)勢,體驗更優(yōu),但是可能瀏覽器兼容性會存在問題,需要進(jìn)行轉(zhuǎn)譯為 ES5 語法。

Vue.component("my-content", {
 data: function () {
 return {
  label: "是兄弟就來砍我",
  content: "刀刀暴擊"
 }
 },
 template: `
 <div>
  <button>{{ label }}</button>
  <span>{{ content }}</span>
 </div>
 `
});

內(nèi)聯(lián)模版(inline-template)

與 「X-template」模版定義方式被稱為模版定義的替代品,把內(nèi)容定義在組件標(biāo)簽元素的內(nèi)部,而不是作為 slot 內(nèi)容分發(fā),方式比較靈活,但是給讓我們組件的模版與其他屬性分離開。

<my-label inline-template>
 <span>{{label}}</span>
</my-label>
Vue.component('my-label', {
 data: function () {
 return {
  label: "趕緊上車吧,兄die"
 }
 }
})

X-template

定義一個 <script> 標(biāo)簽,標(biāo)記 text/x-template 類型,通過 id 鏈接。

<script type="text/x-template" id="label-template">
 <span>{{label}}</span>
</script>
Vue.component('my-label', {
 template: "#label-template",
 data: function () {
 return {
  label: "趕緊上車吧,兄die"
 }
 }
})

渲染函數(shù)

渲染函數(shù)需要 JavaScript 完全的編程能力,而且比模版更接近編譯,但需要我們非常熟悉 Vue的實例屬性,也會更加的抽象。像 v-if v-for 指令就可以用 JavaScript 語法輕松實現(xiàn)。

Vue.component('my-label', {
 data: function () {
 return {
  items: ['來就送!', '來就送!', '來就送!']
 }
 },
 render: function (createElement) {
 if (this.items.length) {
  return createElement('ul', this.items.map(function (item) {
  return createElement('li', item)
  }))
 } else {
  return createElement('p', '活動結(jié)束')
 }
 }
})

JSX

相比渲染函數(shù)的抽象而言,JSX 比較容易一些,對于熟悉 React 的同學(xué)是比較友好的。

Vue.component('my-label', {
 data: function () {
 return {
  label: ["活動結(jié)束"]
 }
 },
 render(){
 return <div>{this.label}</div>
 }
})

單文件組件

使用構(gòu)建工具 cli 創(chuàng)建項目,綜合來看單文件組件應(yīng)該是最好的定義組件的方式,而且不會帶來額外的模版語法的學(xué)習(xí)成本。

<template>
 <div>
 <ul>
  <li v-for="(item, index) in items" :key="index">{{item}}</li>
 </ul>
 </div>
</template>
<script>
export default {
 data() {
 return {
  items: ["我砍", "我砍", "我砍"]
 };
 }
};
</script>

關(guān)于Vue 中怎么定義組件模版問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識。

文章名稱:Vue中怎么定義組件模版-創(chuàng)新互聯(lián)
網(wǎng)站地址:http://jinyejixie.com/article14/jedde.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗Google、網(wǎng)站導(dǎo)航動態(tài)網(wǎng)站、ChatGPT、建站公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁設(shè)計公司
瑞金市| 静海县| 双鸭山市| 淄博市| 丘北县| 威海市| 赣州市| 襄樊市| 汪清县| 井冈山市| 遵义市| 原阳县| 富蕴县| 宁河县| 罗江县| 巴彦县| 揭西县| 连南| 平舆县| 彝良县| 泽州县| 高邮市| 江油市| 仲巴县| 青铜峡市| 宁波市| 东源县| 监利县| 恩施市| 永康市| 集安市| 贡山| 安新县| 武川县| 深水埗区| 准格尔旗| 清河县| 汉阴县| 清丰县| 邢台市| 大冶市|