国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

Vue 中可以定義組件模版的幾種方式

來源:懂視網 責編:小采 時間:2020-11-27 21:52:35
文檔

Vue 中可以定義組件模版的幾種方式

Vue 中可以定義組件模版的幾種方式:前端組件化開發已經是一個老生常談的話題了,組件化讓我們的開發效率以及維護成本帶來了質的提升。 當然因為現在的系統越來越復雜龐大,所以開發與維護成本就變得必須要考慮的問題,因此滋生出了目前的三大前端框架 Vue、Angular、React。 那今天我們就來看看
推薦度:
導讀Vue 中可以定義組件模版的幾種方式:前端組件化開發已經是一個老生常談的話題了,組件化讓我們的開發效率以及維護成本帶來了質的提升。 當然因為現在的系統越來越復雜龐大,所以開發與維護成本就變得必須要考慮的問題,因此滋生出了目前的三大前端框架 Vue、Angular、React。 那今天我們就來看看

前端組件化開發已經是一個老生常談的話題了,組件化讓我們的開發效率以及維護成本帶來了質的提升。

當然因為現在的系統越來越復雜龐大,所以開發與維護成本就變得必須要考慮的問題,因此滋生出了目前的三大前端框架 Vue、Angular、React。

那今天我們就來看看 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>

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

Vue 中可以定義組件模版的幾種方式

Vue 中可以定義組件模版的幾種方式:前端組件化開發已經是一個老生常談的話題了,組件化讓我們的開發效率以及維護成本帶來了質的提升。 當然因為現在的系統越來越復雜龐大,所以開發與維護成本就變得必須要考慮的問題,因此滋生出了目前的三大前端框架 Vue、Angular、React。 那今天我們就來看看
推薦度:
標簽: VUE 的方式 模板
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 在线免费视频国产 | 欧美 韩国 精品 另类 综合 | 亚洲 欧美 中文字幕 | 久久91精品国产91久久小草 | 国产精品免费看久久久麻豆 | 欧美一区二区视频在线观看 | 永久免费毛片 | a集毛片| 欧美日韩免费电影 | 亚洲欧美二区三区久本道 | 亚洲国产综合专区在线电影 | 国产精品视频第一区二区三区 | 国产精品区一区二区三 | 熟年中出交尾六十路七十路 | 国产视频播放 | 免费国产高清视频 | 亚洲国产日韩在线一区 | 国产精品电影一区二区三区 | 久久首页 | 欧美videos极品另类 | 中文字幕第13亚洲另类 | 在线视频一二三区 | 美国一级大黄大色毛片 | 久久精品综合国产二区 | 国内高清久久久久久久久 | 国产国产成人精品久久 | 91欧洲在线视精品在亚洲 | 91香蕉福利一区二区三区 | 国产精品久久一区一区 | 人人揉揉香蕉大青草 | 国产欧美日韩精品第二区 | 国产精品一区二区三区四区五区 | 国产l精品国产亚洲区在线观看 | 欧美精品首页 | 日本不卡视频一区二区 | 激情专区 | 国产精品亚洲一区二区三区久久 | 国产精品国产亚洲精品看不卡 | 国产综合亚洲欧美日韩一区二区 | 欧美日韩亚洲区久久综合 | 日韩精品亚洲电影天堂 |