AngularJs

Angular学习小结(一)

这篇博客将会介绍以下内容:

  • 我的理解
  • Angular术语理解

我的理解

  1. 好上手:入门的例子便是双向绑定,十分神奇。

  2. 模块化:核心是引入了依赖注入的思想,来实现模块化。模块化是工程化的必经之路。为模块化提供了框架,提供了一套优美的解决方案,那就是封装组件。

  3. 前端框架:为view层开发提供了方便有效的工具,如:filter,ng系列指令。

  4. 功能完备:能解决常见的web前端需求,如用ui-router开发SPA(单页应用),组织各页面之间的状态转换,参数传递,模块懒加载处理

Angular术语理解

术语理解
指令angularJs对HTML属性的扩展,如:ng-app,ng-controller,以上是内置指令。还可以自定义指令,在Angular中叫做directive
ng-app该属性申明应用程序的作用范围
ng-controller该属性申明控制器的作用范围
双向绑定DOM内容和SCOPE作用域保持一致
依赖注入对于应用程序中的组件,由Angular统一保管,创建时进行注册,需要用到时,以数组的形式进行申明,依次作为参数传入调用函数。整个过程保持单例。
模块化页面模块化,功能模块化,理解、维护起来自然轻松。可复用性强。
$Provider将可复用的代码模块化,最后再通过Inject注入到我们所想要使用的地方

$provider所提供的几种 Constant,Value,Service,Factory,Provider,Decorator,摘自[AngularJs]淺談Angular.js的Provider機制

下面对知识点进行梳理

$Provider机制理解
Constant不可变值
Value可拦截,通常用作初始值,预设值,Constant可注入到Config区段,而Value不行
ServiceSingleton,通过Service来跨Controller分享数据;实战中可对$http进行包装。
Factory静态工具包装
Provider可再config阶段进行注入,并配置
Decoratorconfig阶段对provide进行拦截

下面进行实战理解并升华:

service中封装$http,目的是复用取到的数据,封装取数据的逻辑。
service的语法特点是,注册的函数作为构造函数。单例,保存状态。
factory的语法特点是,注册一个能返回对象的方法。使用时被注入的就是工厂函数返回的对象。可以当作Angular中工具封装的脚手架。
从provider角度看,service和factory是provider的特殊实现。provider中实现$get函数,service的$get则是返回一个对象,factory的$get则是返回一个构造函数。(这一点现在还不清楚)

所以,service和factory,前者是侧重于数据共享,后者侧重于静态的代码复用。

即将讲述到的指令
main,$localStorage,$translate,$window
ui-load,$document,$q,$timeout
ui-dbUtils,$http,$windows,$q,$modal。

懒加载$ocLazyLoadProvider(modules)。

前几天被同事问到Angular的缺点,我整体都在研究Angular更好的解决web开发中遇到的问题,哪里想过缺点。
于是随口一诹,说Angular最大的缺点就是比较难。显然,难并不是他的缺点,只是它众多优点所需要的代价。
显然,世上没有万能的工具,Angular也只是众多工具中的一种,它也有自己擅长的地方,不擅长的地方。
但是之所以选择,是因为它能满足我们日常开发中的绝大多数需求。比如目前我所做的业务系统,承载了公司的数据流动。
分析一下我们对Js常见的需求,数据绑定,页面复用,ajax,表单处理,动画,编写可维护的前端代码。这些是最常见最基本的需求。Angular能够让理解它的工程师迅速的完成以上业务和要求,那么这就是我选择的原因。
至于缺点,很明显的缺点在设计之初就考虑到了,封装的越深,我们所受的限制就越大。更多细节上的缺点,应该和程序员有关,了解它的缺点,然后避免。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值