最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
當(dāng)前位置: 首頁 - 科技 - 知識(shí)百科 - 正文

Vue單文件組件的如何使用方式介紹

來源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-27 22:33:41
文檔

Vue單文件組件的如何使用方式介紹

Vue單文件組件的如何使用方式介紹:在很多 vue項(xiàng)目中,我們使用 vue.component 來定義全局組件,緊接著用 new vue(el: )在每個(gè)頁面內(nèi)指定一個(gè)容器元素 這種方式在很多中小規(guī)模的項(xiàng)目中運(yùn)作的很好,在這些項(xiàng)目里 JavaScript 只被用來加強(qiáng)特定的視圖。 但擋在更復(fù)雜的項(xiàng)目中,或者你的前端
推薦度:
導(dǎo)讀Vue單文件組件的如何使用方式介紹:在很多 vue項(xiàng)目中,我們使用 vue.component 來定義全局組件,緊接著用 new vue(el: )在每個(gè)頁面內(nèi)指定一個(gè)容器元素 這種方式在很多中小規(guī)模的項(xiàng)目中運(yùn)作的很好,在這些項(xiàng)目里 JavaScript 只被用來加強(qiáng)特定的視圖。 但擋在更復(fù)雜的項(xiàng)目中,或者你的前端

在很多 vue項(xiàng)目中,我們使用 vue.component 來定義全局組件,緊接著用 new vue(el: ”)在每個(gè)頁面內(nèi)指定一個(gè)容器元素

這種方式在很多中小規(guī)模的項(xiàng)目中運(yùn)作的很好,在這些項(xiàng)目里 JavaScript 只被用來加強(qiáng)特定的視圖。

但擋在更復(fù)雜的項(xiàng)目中,或者你的前端完全由 javascript 驅(qū)動(dòng)的時(shí)候,下面這些缺點(diǎn)將變得非常明顯:

  1. 全局定義 (global definitions)強(qiáng)制要求每個(gè) component 中的命名不能重復(fù)
  2. 字符串模板 (string templates)缺乏語法高亮,在 html 有多行的時(shí)候,需要用到丑陋的 \
  3. 不支持 CSS (no css support)意味著當(dāng) html 和 javascript 組件化時(shí),css 明顯被遺漏
  4. 沒有構(gòu)建步驟 ( no build step)限制只能使用 html和 es5 javascript ,而不能使用預(yù)處理器,如 pug(formerly jade)和 babel

文件擴(kuò)展名為 .vue 的 sigle-file components(單文件組件)為以上所有問題提供了解決方法,并且還可以使用 webpack 或 browserify 等構(gòu)建工具

這是一個(gè)文件名為 hello.vue的簡單實(shí)例

<template>

 <p> {{ gretting}} world! </p>
</template>


<script>
 module.exports = {
 data: function(){
 return {
 greeting: 'hello'
 }
 }
 }
</script>

<style scoped>
p {
 font-size: 2em;
 text-algin: center
}

</style>

現(xiàn)在我們獲得:

  • 完整語法高亮
  • commonJs 模板
  • 組件化的 css
  • 正如我們說過的,我們可以使用預(yù)處理器來構(gòu)建簡潔和功能更豐富的組件,比如 pug,babel,和 stylus

    <template lang="jade">
     div
     p {{greeting}} world!
     other-component 
    </template>
    
    <script>
     import default{
     data(){
     return{
     greeting:'hello'
     }
     },
     components: {
     OtherComponent
     }
     }
    </script>
    
    <style lang='stylus' scoped>
     p
     font-size: 2em;
     text-align: center 
    </style>
    
    

    這些特定的語言只是例子,你可以只是簡單地使用 Babel,TypeScript,SCSS,PostCSS - 或者其他任何能夠幫助你提高生產(chǎn)力的預(yù)處理器。如果搭配 vue-loader 使用 Webpack,它也是把 CSS Modules 當(dāng)作第一公民來對(duì)待的。

    怎么看待關(guān)注點(diǎn)分離?

    一個(gè)重要的事情值得注意,關(guān)注點(diǎn)分離不等于文件類型分離。

    在現(xiàn)代 UI 開發(fā)中,我們已經(jīng)發(fā)現(xiàn)相比于把代碼庫分離成三個(gè)大的層次并將其相互交織起來,把它們劃分為松散耦合的組件再將其組合起來更合理一些。

    在一個(gè)組件里,其模板、邏輯和樣式是內(nèi)部耦合的,并且把他們搭配在一起實(shí)際上使得組件更加內(nèi)聚且更可維護(hù)。
    即便你不喜歡單文件組件,你仍然可以把 JavaScript、CSS 分離成獨(dú)立的文件然后做到熱重載和預(yù)編譯。

    <!-- my-component.vue -->
    <template>
     <div>This will be pre-compiled</div>
    </template>
    
    <script src="./my-component.js"></script>
    <style src="./my-component.css"></style>
    

    聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    Vue單文件組件的如何使用方式介紹

    Vue單文件組件的如何使用方式介紹:在很多 vue項(xiàng)目中,我們使用 vue.component 來定義全局組件,緊接著用 new vue(el: )在每個(gè)頁面內(nèi)指定一個(gè)容器元素 這種方式在很多中小規(guī)模的項(xiàng)目中運(yùn)作的很好,在這些項(xiàng)目里 JavaScript 只被用來加強(qiáng)特定的視圖。 但擋在更復(fù)雜的項(xiàng)目中,或者你的前端
    推薦度:
    標(biāo)簽: 使用 VUE 介紹
    • 熱門焦點(diǎn)

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top