介绍
Angular.js是google开发者设计和开发的一套前端开发框架,帮助你简化前端开发的负担。
AngularJS 通过新的属性和表达式扩展了 HTML。
AngularJS 可以构建一个单一页面应用程序
AngularJS的优点:
1.良好的应用程序结构:
通常情况下,我们编写 JavaScript 没有明确的结构。虽然在编写小应用程序的时候没有问题,但这显然是不适合于大规模的应用程序。
使用 AngularJS,您可以通过MVC(模型 - 视图 - 控制器)或MVVM (模型 - 视图 - 视图模型)模式来组织源代码。
AngularJS 是一个 MVW 框架,其中W代表可以用于任何项目。你可以组织你的代码模块,它可显著提高应用程序的可测试性和可维护性。数据、业务逻辑、视图的分离。
2.双向数据绑定
数据绑定肯定是 AngularJS 最佳功能之一。
你可以声明绑定的模型到 HTML 元素。当模型发生变化时,视图会自动更新,反之亦然。
这可以减少大量的传统样板代码,保持模型和视图同步。
3.指令
自定义Directive,比jQuery插件还灵活,但是需要深入了解Directive的一些特性,简单的封装容易,复杂一点官方没有提供详细的介绍文档,我们可以通过阅读源代码来找到某些我们需要的东西,如:在directive使用 $parse;
4.HTML 模板
AngularJS 使用 HTML 模板,这使事情变得简单,并允许设计人员和开发人员同时工作。
设计人员可以按照通常的方式创建用户界面,而开发人员可以使用声明性绑定语法很容易配合不同的UI组件的数据模型。
5.依赖注入
ng模块化比较大胆的引入了Java的一些东西(依赖注入),能够很容易的写出可复用的代码,对于敏捷开发的团队来说非常有帮助,我们的项目从上线到目前,UI变化很大,在摸索中迭代产品,但是js的代码基本上很少改动。
AngularJS的缺点:
1.性能
双向数据绑定是一把双刃剑。随着组件增加,项目越来越复杂,双向数据绑定带来性能问题。
双向数据绑定是如何影响性能的?在JavaScript(ES5)中,并没有实现当变量或对象改变时发出通知的功能,Angular的实现方法被叫做“Dirty-checking(脏检查机制)”,通过跟踪数据的改变再动态更新用户界面(UI)。 在Angular的作用域中任何操作的执行都会引发Dirty-checking,随着绑定数量的增加性能就会越低。
- Angular 2.0推翻重做使得目前不宜采用此框架
Angular 1.x版本其实是个比较旧的东西了,现在看来有些理念过时了,比如依赖注入、自己独特的模块化,这些东西其实在ES6下已经很好地被解决了。 Angular的2.0几乎是一个推翻重做的框架,估计不会有1.X的upgrade方案。所以如果现在新开始的项目采用Angular的话,会是一个很尴尬的时机。同样,如此大的改动似乎也反面印证了1.X并不是那么好。
3.学习成本高
4.不适合类型开发:
(1:内容网站,需要SEO的。(SEO目前也有了prerender解决方案) https//prerender.io
(2:交互频繁的,如游戏之类交互体验网站。
(3,太过于简单的页面。
Angular更适合于CRUD的管理系统开发。
全局安装Angular/cli
npm install -g @angular/cli 或者 cnpm install -g @angular/cli
安装后测试
ng v
项目创建第一种方式
ng new myApp
cd myApp
ng serve // 运行项目
项目创建第二种方式
ng new myApp --skip-install 和上面的不同的是 这样创建不会自动安装依赖
运行项目
ng serve --open 会自动打开页面
创建组件
ng g component components/news
在src/app下 创建一个components/news组件
自动配置组件的挂载