Angular.js與Vue.js是非常有淵源的兩款前端框架,據Vue.js的官方網站描述,在其早期開發時,靈感來源就是Angular.js。而在很多方面,Vue.js也正像是中國的那句古話,“青出於藍而勝於藍”。今天,K就從下麵幾個方面來跟大家一起探討一下,Vue.js到底在哪些方面更“勝於藍”。 ...
Angular.js與Vue.js是非常有淵源的兩款前端框架,據Vue.js的官方網站描述,在其早期開發時,靈感來源就是Angular.js。而在很多方面,Vue.js也正像是中國的那句古話,“青出於藍而勝於藍”。今天,K就從下麵幾個方面來跟大家一起探討一下,Vue.js到底在哪些方面更“勝於藍”。
(一)簡單的操作
這是K看來Vue.js最傑出的的方法,Vue.js致力於視圖層的展現,這使它在與其他項目進行整合的時候會變得非常easy,這也使它更容易“嵌入”其他的庫或者項目。而在寫法上,K也是很偏向於Vue.js的,無論是各種數據、方法上的綁定等等。這一點是Angular.js很難相齊的。
(二)單向數據流
這是Vue.js所具備的不同模塊間的強制性的單向數據流,是Vue.js不同於Angular.js的一大特色。Vue.js所提供的單向數據流的數據綁定方式使程式猿操作時,更容易摸清、控制數據的走向。
(三)指令與組件
在Vue.js中,強化了指令與組件的區分:指令只封裝DOM操作,而組件代表一個自給自足的獨立單元 —— 有自己的視圖和數據邏輯。而在 Angular 中兩者有不少相混的地方。
(四)優化更簡單
Vue.js中的數據變化是相對獨立的(除非有特別明確的依賴關係),而在Angular.js中,一個作用域中某條數據的變化就會使watcher重新對這一作用域進行更新。相對來說,後者會花費更多的時間去優化數據的更新,特別是作用域大量存在時,而前者根本就不會發生這種問題。
以上四點,就是K在初步學習Vue.js和Angular.js之後,感覺到的兩者的不同。其實在某種程下,兩者是不分伯仲的,他們各自都有其不可被替代的那一部分,或許以後的某個時間,會再有一種綜合能力更強於兩者的框架的出現。
(參考:https://cn.vuejs.org/v2/guide/comparison.html)