国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

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

2019-11-19 15:57:17
字體:
來源:轉載
供稿:網友

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

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

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

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

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

這是一個文件名為 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>

現在我們獲得:

  • 完整語法高亮
  • commonJs 模板
  • 組件化的 css

正如我們說過的,我們可以使用預處理器來構建簡潔和功能更豐富的組件,比如 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 - 或者其他任何能夠幫助你提高生產力的預處理器。如果搭配 vue-loader 使用 Webpack,它也是把 CSS Modules 當作第一公民來對待的。

怎么看待關注點分離?

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

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

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

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

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 英吉沙县| 汝城县| 大足县| 韶山市| 阜新市| 固镇县| 抚顺市| 巨野县| 延津县| 隆德县| 齐齐哈尔市| 龙州县| 汉中市| 嘉鱼县| 台前县| 敦化市| 盐城市| 海兴县| 张掖市| 颍上县| 城市| 宜州市| 天台县| 乌海市| 罗平县| 漠河县| 桂东县| 尼木县| 宜兰市| 湟中县| 长治县| 灵丘县| 永宁县| 沁水县| 青川县| 湖口县| 陕西省| 高淳县| 郴州市| 岳阳市| 洪泽县|