怎么免費做個人網(wǎng)站互聯(lián)網(wǎng)營銷策略有哪些
漸進(jìn)式JavaScript框架
Vue.js是一套構(gòu)建用戶界面(UI)的漸進(jìn)式JavaScript框架。
1、庫和框架的區(qū)別?
- 庫:庫是提供給開發(fā)者的一個封裝好的特定于某一方面的集合(方法和函數(shù)),庫沒有控制權(quán),控制權(quán)還在使用者的手中:在庫中查詢自己需要的功能進(jìn)行應(yīng)用。
- 框架:框架即一臺架構(gòu),是基于自身點為用戶提出的一套相對完整的問題解決方案??刂茩?quán)屬于框架本身,開發(fā)者要根據(jù)框架的自身規(guī)范去進(jìn)行某些開發(fā)。
2、漸進(jìn)式
漸進(jìn)式指沒有多做指責(zé)之外的事情。
VUE.js只提供了vue-cli生態(tài)中最核心的組件系統(tǒng)和雙向數(shù)據(jù)綁定,類似vuex、vue-router都是屬于圍繞vue.js開發(fā)的庫。
-
雙向數(shù)據(jù)綁定
將DOM和Vue示例的data數(shù)據(jù)綁定,彼此相互影響。
原理:Object.defineProperty中的get和set方法。
作用:指定讀取或設(shè)置對象屬性值的時候執(zhí)行操作。
- Angular:必須使用它的模塊機(jī)制,必須使用它的依賴注入,必須使用它的特殊形式定義組件。因此Angular具有較強的排他性,如果應(yīng)用不是從回頭開始就不要考慮其他集成。
- React:函數(shù)式編程理念,副作用,純函數(shù),如何隔離避免副作用。React的侵入性之所以看起來沒有Angular那么強主要因為它是屬于軟性侵入。
- Vue:漸進(jìn)的。(1)可以在原有的大系統(tǒng)上面把一兩個組件改用它去實現(xiàn),即當(dāng)成jQuery來使用。(2)可以使用整個全家桶去開發(fā),即當(dāng)成Angular使用。(3)可以使用它的視圖,從而搭配我們自己設(shè)計的下層來使用。(4)可以在底層數(shù)據(jù)邏輯處用OO和設(shè)計模式的理念。(5)可以函數(shù)式,作為輕量視圖只做最核心的東西。
3、MVVM
- M:model數(shù)據(jù)模型
- V:View視圖
- VM:View Model視圖模型
(1)MVC和MVVM
MVC中將程序分為三大部分,實現(xiàn)了責(zé)任分離。在前端中需要經(jīng)常通過js代碼進(jìn)行邏輯操作,最終將邏輯操作的結(jié)果體現(xiàn)在頁面上,即頻繁的操作DOM。
MVVM通過數(shù)據(jù)雙向綁定來使得數(shù)據(jù)自動地雙向同步,像VUE這種MVVM的框架就不建議去手動操作DOM。
(2)VUE中的MVVM
- VUE沒有完全遵循MVVM模型,在文檔中經(jīng)常使用vm的變量名表示VUE實例。
- VUE思想:不要想著如何去操作DOM,而是如何操作數(shù)據(jù)。