欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2017年07月28日 15:58:23   作者:WinSolstice  
本篇文章主要介紹了Vue單文件組件的如何使用方式介紹,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

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

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

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

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

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

這是一個文件名為 hello.vue的簡單實例

<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)作第一公民來對待的。

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

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

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

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

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Vue 解決路由過渡動畫抖動問題(實例詳解)

    Vue 解決路由過渡動畫抖動問題(實例詳解)

    這篇文章主要介紹了Vue 解決路由過渡動畫抖動問題,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-01-01
  • Vue整合AdminLTE模板的方法

    Vue整合AdminLTE模板的方法

    這篇文章主要介紹了Vue整合AdminLTE模板的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-05-05
  • vue實現(xiàn)app頁面切換動畫效果實例

    vue實現(xiàn)app頁面切換動畫效果實例

    本篇文章主要介紹了vue實現(xiàn)app頁面切換動畫效果實例,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • 解決electron打包vue-element-admin項目頁面無法跳轉(zhuǎn)的問題小結(jié)

    解決electron打包vue-element-admin項目頁面無法跳轉(zhuǎn)的問題小結(jié)

    這篇文章主要介紹了解決electron打包vue-element-admin項目頁面無法跳轉(zhuǎn)的問題小結(jié),本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2024-03-03
  • Vue瀏覽器緩存sessionStorage+localStorage+Cookie區(qū)別解析

    Vue瀏覽器緩存sessionStorage+localStorage+Cookie區(qū)別解析

    這篇文章主要介紹了Vue瀏覽器緩存sessionStorage+localStorage+Cookie區(qū)別解析,本文通過示例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-09-09
  • Vue全局事件總線和訂閱與發(fā)布使用案例分析講解

    Vue全局事件總線和訂閱與發(fā)布使用案例分析講解

    在?vue?里我們可以通過全局事件總線來實現(xiàn)任意組件之間通信,它的原理是給?Vue?的原型對象上面添加一個屬性。這樣的話我所有組件的都可以訪問到這個屬性,然后可以通過這個屬性來訪問其他組件給這個屬性上面綁定的一些方法,從而去傳遞數(shù)據(jù)
    2022-08-08
  • vue ElementUI的from表單實現(xiàn)登錄效果的示例

    vue ElementUI的from表單實現(xiàn)登錄效果的示例

    本文主要介紹了vue ElementUI的from表單實現(xiàn)登錄效果的示例,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • 測試平臺開發(fā)vue組件化重構(gòu)前端代碼

    測試平臺開發(fā)vue組件化重構(gòu)前端代碼

    這篇文章主要為大家介紹了測試平臺開發(fā)vue組件化重構(gòu)前端代碼,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • nuxt靜態(tài)部署打包相對路徑操作

    nuxt靜態(tài)部署打包相對路徑操作

    這篇文章主要介紹了nuxt靜態(tài)部署打包相對路徑操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • Vue3實現(xiàn)動態(tài)面包屑的代碼示例

    Vue3實現(xiàn)動態(tài)面包屑的代碼示例

    這篇文章主要給大家介紹一下Vue3動態(tài)面包屑是如何實現(xiàn)的,實現(xiàn)思路又是什么,以及發(fā)給大家介紹一下面包屑的功能,文章通過代碼示例介紹的非常詳細(xì),需要的朋友可以參考下
    2023-07-07

最新評論