91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

Vue 中怎么定義組件模版

發布時間:2021-06-17 16:46:17 來源:億速云 閱讀:129 作者:Leah 欄目:web開發

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

奈曼旗| 青川县| 安吉县| 容城县| 海伦市| 澎湖县| 固阳县| 龙陵县| 新龙县| 和田市| 罗平县| 本溪| 菏泽市| 定边县| 新巴尔虎左旗| 涪陵区| 元江| 广南县| 越西县| 定西市| 临泉县| 获嘉县| 互助| 徐水县| 内江市| 石嘴山市| 靖安县| 元谋县| 常山县| 普洱| 广宁县| 津市市| 永昌县| 勐海县| 肇东市| 栾川县| 华容县| 灵丘县| 施甸县| 尚志市| 布拖县|