中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Vue中如何定義組件模版

發布時間:2022-05-05 17:58:42 來源:億速云 閱讀:123 作者:iii 欄目:大數據

本篇內容介紹了“Vue中如何定義組件模版”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

字符串形式

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

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

模版字面量

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

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

內聯模版(inline-template)

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

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

X-template

定義一個 <script> 標簽,標記 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"
 }
 }
})

渲染函數

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

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', '活動結束')
 }
 }
})

JSX

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

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

單文件組件

使用構建工具 cli 創建項目,綜合來看單文件組件應該是最好的定義組件的方式,而且不會帶來額外的模版語法的學習成本。

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

“Vue中如何定義組件模版”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

vue
AI

济南市| 平南县| 顺平县| 手机| 曲松县| 三亚市| 榆林市| 昌乐县| 定陶县| 探索| 开化县| 汉源县| 芷江| 拜泉县| 奉新县| 隆德县| 改则县| 木里| 仙游县| 泰来县| 江西省| 本溪| 偃师市| 太康县| 玛沁县| 江华| 鄯善县| 常德市| 汝阳县| 闻喜县| 皮山县| 遂川县| 哈密市| 安乡县| 紫云| 咸丰县| 阿克陶县| 开封市| 巴林右旗| 平潭县| 浦城县|