Vue.js 中的 *.Vue文件


vue.js是一套構建用戶界面的漸進式框架,它采用自底向上增量開發的設計。(自底向上設計方法是根據系統功能要求,從具體的器件、邏輯部件或者相似系統開始,憑借設計者熟練的技巧和豐富的經驗,通過對其進行相互連接、修改和擴大,構成所要求的系統。)Vue 的核心庫只關注視圖層,它不僅易於上手,還便於與第三方庫或既有項目整合。另一方面,當與單文件組件和Vue生態系統支持的庫結合使用時,Vue 也完全能夠為復雜的單頁應用程序提供驅動。

什么是*.vue文件

首先,用 vue-cli 腳手架搭建的項目,已經遇到了很多,如 index.vue 或者 App.vue 這一的文件了。如果是初次接觸 vue 開發的同學,可能之前沒有見過這個東西。*.vue 文件,是一個自定義的文件類型,用類似HTML的語法描述一個Vue組件。每個.vue文件包含三種類型的頂級語言塊 <template>, <script> 和 <style>。這三個部分分別代表了 html,js,css。

其中 <template> 和 <style> 是支持用預編譯語言來寫的。比如,在項目中就用了 scss 預編譯,因此,是這樣寫的:

Vue.js 中的 *.Vue文件
 

工具/原料

 
  • JavaScript

方法/步驟

 
  1.  

    html 也有自己的預編譯語言, vue 也是支持的,不過一般來說,前端人員還是比較中意 html 原生語言。

    另外,在 App.vue 文件中,已經用一句 @import "./style/style"; 將樣式給寫到指定的地方去了。所以,在后面所有的我的文章中,是不會出現這個部分的內容的。所有樣式,都會在 src/style/ 文件夾中對應的位置去寫。這樣做的好處是,不需要重復的引入各種 scss 基礎文件,並且做到了項目的樣式代碼的可管控。

    *.vue 文件代碼解析

    首先,來簡單看一下:

    Vue.js 中的 *.Vue文件
  2.  

    以上就是一個簡單的 *.vue 文件的基本結構。我們一部分一部分的來解釋。

    template 部分

    以下,不再稱呼它為 *.vue 文件了。改成為 vue 組件。首先,一個 vue 組件, template 則代表它的 html 結構,相信大家可以理解了。但是需要注意的是,不是說把代碼包裹在 <template></template> 中就可以了,而是必須在里面方置一個 html 標簽來包裹所有的代碼。 本例子中,采用了 <div></div>標簽。

    看到 <Header></Header> 這個代碼的時候肯定很奇怪,這是個什么玩意兒。其實,這是一個自定義組件。我們在其他地方寫好了一個組件,然后就可以用這種方式引入進來。同樣 <Footer></Footer> 也是一個組件。

    script 部分

    首先,需要兩個自定義組件,我們先引用進來。如下格式,比較好理解吧。

    Vue.js 中的 *.Vue文件
  3.  

    其次,除了引用的文件,我們將所有的代碼包裹於如下的代碼中間:

    Vue.js 中的 *.Vue文件
  4.  

    先引入了 Header 和 Footer 這兩個組件的源文件,接下來,我們要把引用的組件給申明到 components 里面去。這樣,我們就可以在 template 里面使用了。

    Vue.js 中的 *.Vue文件
  5.  

    data是數據演示代碼,給了一個 list 的空數組數據。在 template 中,可以使用 this.list 來使用數據。這個后面的文章中會講到,這里不去深入,認識它就可以了。

    Vue.js 中的 *.Vue文件
  6.  

    created 表示組件加載完成時,需要執行的內容。比如這里,讓組件在加載完成時,執行一個叫 this.getData() 的函數。另外created是vuejs中的勾子函數之一。(具體的勾子函數請參考附錄)

    Vue.js 中的 *.Vue文件
  7.  

    methods是這個組件的方法,也可以說是函數。比如,上面的代碼就表示,組件自定義了一個叫 getData() 的方法函數。

    Vue.js 中的 *.Vue文件
  8.  

    tyle 部分

    這里比較簡單,就是針對 template 里內容出現的 html 元素寫一些樣式。如下,代碼:

    Vue.js 中的 *.Vue文件
  9.  

    到這里應該對 vue 組件文件有了一定的認知。后面的博文中,將會涉及到比較多的各種寫法,因此,建議在閱讀完本文后,花比較多的時間,去查看 vue 的官方文檔。雖然文檔你不一定能全部看懂,但要有一個大概的認識,否則下面的學習將會比較困難。

    附錄

    勾子,可以理解為vuejs的生命周期,而函數則是生命周期內各個階段的事件方法。如下圖

    Vue.js 中的 *.Vue文件
  10.  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM