angularjs初步认识

什么是angularjs?

  • HTML非常适合声明静态文档,但是当我们试图在web应用程序中声明动态视图时,它就会出现问题。
    AngularJS允许您扩展应用程序的HTML词汇表。所产生的环境是非常具有表现力的,可读的,并且易于开发。
  • 其他框架通过抽象HTML、CSS和/或JavaScript或提供一种操作DOM的命令方式来处理HTML的缺点。
    这两种方法都解决不了HTML不为动态视图设计的根本问题
  • AngularJS是构建最适合应用程序开发的框架的工具集。它是完全可扩展的,并且与其他库很好地工作。每个特性都可以被修改或替换,以适应您独特的开发工作流和特性需求。继续读下去,找出答案。

angularjs的四大特征?

  • MVC模式:
    model:数据其实就是angular变量( scope.XX, .rootScope.XX);
    view:数据的呈现,Html+Directive(指令);
    controller:操作数据,就是function数据的增删改查;

  • 双向绑定:
    方向一:Model—>View
    {{Model数据}}或model变view跟着变
    方向二:View—>Model
    <表单控件 ng-model=”Model数据名”> view变model跟着变

  • 依赖注入
    依赖注入(Dependency Injection 简称DI)是一种设计模式,指摸个对象依赖的其他对象,需手工创建,只需要“吼一嗓子”,则此对象在创建时,其依赖的对象由框架来自动创建并注入进来,实就是最少只是法则,模块中所有的service和provider两类对象,都可以根据形参名称实现DI;

  • 模块化设计:
    高内聚低耦合法则
    1)官方提供的模块 ng ngRoute ngAnimate ngTouch
    2) 用户自定义的模块 angular.module(‘模块名’,[ ])

为什么要使用angularjs?

  • 一次开发多个版本

angularjs的优缺点?

  • angularjs是一个javascript框架。通过script脚本引入,他是一个用Javascript编写的库。angularjs通过指令扩展了HTML,通过表达式绑定数据到HTML中。AngularJS主要考虑的是构建CRUD(增删改查)应用。
  • 优点
    1.模板功能强大丰富,并且是声明式的,自带了丰富的Angular指令;
    2.是一个比较完善的前端MVC框架,包含模板,数据双向绑定,路由,模块化,服务,过滤器,依赖注入等所有功能;
    3.自定义Directive(指令),比jQuery插件还灵活,但是需要深入了解Directive的一些特性,简单的封装容易,复杂一点官方没有提供详细的介绍文档,可以通过阅读源代码来找到某些我们需要的东西,如:在directive使用 $parse;
    4.ng模块化比较大胆的引入了Java的一些东西(依赖注入),能够很容易的写出可复用的代码,对于敏捷开发的团队来说非常有帮助。
  • 缺点
    1.验证功能错误信息显示比较薄弱,需要写很多模板标签,没有jQuery Validate方便,所以可以自己封装了验证的错误信息提示;
    2.ngView只能有一个,不能嵌套多个视图,虽然有angular-ui/ui-router · GitHub 解决,但是貌似ui-router 对于URL的控制不是很灵活,必须是嵌套式的;
    3.对于特别复杂的应用场景,貌似性能有点问题,特别是在Windows下使用chrome浏览器,不知道是内存泄漏了还是什么其他问题,没有找到好的解决方案,奇怪的是在IE10下反而很快;
    4.这次从1.0.X升级到1.2.X,貌似有比较大的调整,没有完美兼容低版本,升级之后可能会导致一个兼容性的BUG,具体详细信息参考官方文档AngularJS ,对应的中文版本:Angular 1.0到1.2 迁移指南
    5.ng提倡在控制器里面不要有操作DOM的代码,对于一些jQuery 插件的使用,如果想不破坏代码的整洁性,需要写一些directive去封装插件,但是现在有很多插件的版本已经支持Angular了,如:jQuery File Upload Demo
    6.Angular 太笨重了,没有让用户选择一个轻量级的版本,当然1.2.X后,Angular也在做一些更改,比如把route,animate等模块独立出去,让用户自己去选择。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值