初学者可以选择学习 vue.vue 的学习曲线和复杂度都比较平稳和简单, 所以对于初级前端或者刚入职场的前端来说比较适合. 等需要精进自己的前端技术的时候, 再学习 react/Angular.
选择 Vue 而不选择 Angular, 有下面几个原因, 当然不是对每个人都适合:
在 API 与设计两方面上 vue.js 都比 Angular 简单得多, 因此可以快速地掌握它的全部特性并投入开发.
Vue.JS 是一个更加灵活开放的解决方案. 它允许以希望的方式组织应用程序, 而不是任何时候都必须遵循 Angular 制定的规则. 它仅仅是一个视图层, 所以可以将它嵌入一个现有页面而不一定要做成一个庞大的单页应用. 在配合其他库方面它给了更大的的空间, 但相应, 也需要做更多的架构决策. 例如, Vue.JS 核心默认不包含路由和 Ajax 功能, 并且通常假定在应用中使用了一个模块构建系统. 这可能是最重要的区别.
Angular 使用双向绑定, Vue 也支持双向绑定, 不过默认为单向绑定, 数据从父组件单向传给子组件. 在大型应用中使用单向绑定让数据流易于理解.
在 Vue.JS 中指令和组件分得更清晰. 指令只封装 DOM 操作, 而组件代表一个自给自足的独立单元 -- 有自己的视图和数据逻辑. 在 Angular 中两者有不少相混的地方.
Vue.JS 有更好的性能, 并且非常非常容易优化, 因为它不使用脏检查. Angular, 当 watcher 越来越多时会变得越来越慢, 因为作用域内的每一次变化, 所有 watcher 都要重新计算. 并且, 如果一些 watcher 触发另一个更新, 脏检查循环 (digest cycle) 可能要运行多次. Angular 用户常常要使用深奥的技术, 以解决脏检查循环的问题. 有时没有简单的办法来优化有大量 watcher 的作用域. Vue.JS 则根本没有这个问题, 因为它使用基于依赖追踪的观察系统并且异步列队更新, 所有的数据变化都是独立地触发, 除非它们之间有明确的依赖关系. 唯一需要做的优化是在 v-for 上使用 track-by.
有意思的是, Angular 2 和 Vue 用相似的设计解决了一些 Angular 1 中存在的问题.
更多 web 前端开发 https://www.html.cn/ 知识, 请查阅 HTML 中文网 !!
来源: http://www.css88.com/qa/vue-js/17768.html