Vue 介紹


Vue 簡介

漸進式 JavaScript 框架

漸進式:可以控制一個頁面的一個標簽,也可以控制一系列標簽,也可以控制整個頁面,甚至可以控制整個前台項目。你需要用它的什么組件就用什么組件,沒有強主張



什么是 Vue?

可以獨立完成前后端分離式 web 項目的 JavaScript 框架


前后端不分離:
在前后端不分離的應用模式中,前端頁面看到的效果都是由后端控制的,由后端渲染頁面或重定向,也就是后端需要控制前端的展示,前端與后端的耦合度很高

前后端分離
在前后端分離的應用模式中,后端僅返回前端所需要的數據,不在渲染 HTML 頁面,不再控制前端效果
至於前端用戶看到什么效果,從后端請求的數據如何加載到前端,都是由前端自己決定,網頁有網頁的處理方式,App 有 App 的處理方式,但無論哪種前端,所需的數據基本相同,后端僅需開發一套邏輯對外提供數據即可

為什么要學習 Vue ?

前台框架:Angular(龐大)、React(精通移動端)、Vue(吸取前兩者優勢,輕量級)
Vue一手文檔是中文、中文API(低學習成本)
實現前后台分離開發,節約開發成本

special -- 特點

虛擬DOM
數據的雙向綁定
單頁面應用
數據驅動



優勢

有指令(分支結構,循環結構...),復用頁面結構等
有實例成員(過濾器,監聽),可以對渲染的數據做二次格式化
有組件(模塊的復用或組合),快速搭建頁面

1 輕量級框架:只關注視圖層,是一個構建數據的視圖集合,大小只有幾十kb

2 簡單易學:國人開發,中文文檔,不存在語言障礙,易於理解和學習

3 雙向數據綁定:vue.js會自動響應數據的變化情況,並且根據用戶在代碼中預先寫好的綁定關系,對所有綁定在一起的數據和視圖內容都進行修改。

這也就是vue.js最大的優點,通過MVVM思想實現數據的雙向綁定,讓開發者不用再操作dom對象,有更多的時間去思考業務邏輯。

4 組件化:Vue.js通過組件,把一個單頁應用中的各種模塊拆分到一個一個單獨的組件(component)中,我們只要先在父級應用中寫好各種組件標簽(占坑),並且在組件標簽中寫好要傳入組件的參數(就像給函數傳入參數一樣,這個參數叫做組件的屬性),然后再分別寫好各種組件的實現(填坑),然后整個應用就算做完了。

5 視圖、數據和結構的分離:使數據的更改更為簡單,不需要進行邏輯代碼的修改,只需要操作數據就能完成相關操作

6 虛擬DOM:用JQuery或者原生的JavaScript DOM操作函數對DOM進行頻繁操作的時候,瀏覽器要不停的渲染新的DOM樹,導致頁面看起來非常卡頓
而Virtual DOM則是虛擬DOM的英文,簡單來說,他就是一種可以預先通過JavaScript進行各種計算,把最終的DOM操作計算出來並優化,由於這個DOM操作屬於預處理操作,並沒有真實的操作DOM,所以叫做虛擬DOM。最后在計算完畢才真正將DOM操作提交,將DOM操作變化反映到DOM樹上。

7 運行速度快:像比較與react而言,同樣都是操作虛擬dom,就性能而言,vue存在很大的優勢



如何使用

Vue環境簡單搭建:通過script標簽導入vue文件即可

1  cdn
<script src="https://cn.vuejs.org/js/vue.js"></script>

2  本地導入
<script src="js/vue.js"></script>

簡單使用

<div id="app">
    {{ }}
</div>
<script src="js/vue.min.js"></script>
<script>
    new Vue({
        el: '#app'
    })
</script>

總結:

what:漸進式 javascript 框架
where:前后台分離項目的前台開發(pc、移動端)
why:有其他框架的優點、輕量、中文API(低學習成本)
how:在頁面中導入vue環境,用變量控制掛載點,各種指令與實例成員配合

Vue 常用網站

vue官方文檔:https://cn.vuejs.org/v2/guide/

vue資源精選:http://vue.awesometiny.com/

vue GitHub地址:https://github.com/vuejs/vue

基於vue和element構建的后台前端解決方案:https://panjiachen.github.io/vue-element-admin-site/zh/



免責聲明!

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



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