Vue.js 和 AngularJS 之间的区别是什么?

2020-04-21 09:44发布

2条回答

Vue.js 是一个更加灵活开放的解决方案。它允许你以希望的方式组织你的应用程序,而不是任何时候都必须遵循 Angular 制定的规则。它仅仅是一个视图层,所以你可以将它嵌入一个现有页面而不一定要做成一个庞大的单页应用。在结合其他库方面它给了你更大的的空间,但相应,你也需要做更多的架构决策。

例如,Vue.js 核心默认不包含路由和 ajax 功能,并且通常假定你在用应用中使用了一个外部的模块构建系统。这可能是最重要的区别

在 API 和内部设计方面,Vue.js 比 Angular 简单得多, 因此你可以快速地掌握它的全部特性并投入开发。

Vue.js 拥有更好的性能,因为它不使用脏检查。当 watcher 越来越多时, Angular 会变得越来越慢,因为作用域内的每一次数据变更,所有的 watcher 都需要被重新求值。Vue 则根本没有这个问题,因为它采用的是基于依赖追踪的观察系统,所以所有的数据变更触发都是独立的,除非它们之间有明确的依赖关系。

Vue.js 中指令和组件的概念区分得更为清晰。指令只负责封装 DOM 操作,而组件代表一个自给自足的独立单元 —— 它拥有自己的视图和数据逻辑。在 Angular 中它们两者间有不少概念上的混淆。


一周热门 更多>