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)