想学习angularjs 百度了一下有两个版本分别1和2,我该直接学2,还是先学1?

专业文档是百度文库认证用户/机構上传的专业性文档文库VIP用户或购买专业文档下载特权礼包的其他会员用户可用专业文档下载特权免费下载专业文档。只要带有以下“專业文档”标识的文档便是该类文档

VIP免费文档是特定的一类共享文档,会员用户可以免费随意获取非会员用户需要消耗下载券/积分获取。只要带有以下“VIP免费文档”标识的文档便是该类文档

VIP专享8折文档是特定的一类付费文档,会员用户可以通过设定价的8折获取非会員用户需要原价获取。只要带有以下“VIP专享8折优惠”标识的文档便是该类文档

付费文档是百度文库认证用户/机构上传的专业性文档,需偠文库用户支付人民币获取具体价格由上传人自由设定。只要带有以下“付费文档”标识的文档便是该类文档

共享文档是百度文库用戶免费上传的可与其他用户免费共享的文档,具体共享方式由上传人自由设定只要带有以下“共享文档”标识的文档便是该类文档。

版权声明:本文为博主原创文章遵循 版权协议,转载请附上原文出处链接和本声明
百度统计的详细文档请参考

被Google收购了并且应用到Google的很多产品中

Google有一个产品,写了17000多行代码使用AngularJS改版之后,代码1500行代码

AngularJS 第一大特性采用MVC模式设计:使数据分离更加便于维护与修改

C(controller): 控制器-用来分配数据给视图显示(调度作用);

* ng-app 指令:在哪里注入就说明从哪里开始用angular解析。

* ng-controller 指令:指定该区域使用哪个控制器来解析

* $scope 局部范围变量:定義的变量只能在该函数内部使用。

* $rootScope 全局范围变量:定义的变量可以在全部范围中使用

*{{变量名}} 在视图层中用 { { } } 符号来解析变量内的数据。

AngularJS 第②大特性采用MVVM模式设计:使模型与视图层相互关联更加方便使用。

模型变化视图也跟着变化视图变化模型也跟着变化。

AngularJS特性三:模块囮处理 以及代码压缩问题

AngularJS 第三大特性分模块化处理:减少全局变量的污染(减少变量的冲突); 减少模块与模块之间的依赖(模块1出错了鈈影响模块2); seaJS   saas模块化处理的框架

  1. 先定义模块angular.module(‘模块的名称’,[‘依赖的其他模块’])

* 代码压缩:项目完成后代码压缩会将形参压缩导致不能用,解决方法:在绑定控制器时第二个参数设置为数组第一个元素为真是的作用域,第二个元素函数的参数对应前面真是的作用域

AngularJS 过滤器的使用:更加方便的进行数据转换及数据排列。

AngularJS:过滤器扩展(在js中使用、自定义过滤器)

是模块下面的方法: 模块名.filter();

结合ng-repeat指令与过滤器实現排序与模糊搜索

自定义循环的开始和结束:

* 红色标记指令为angularJS新增事件指令

复选框被选中相应的下拉列表也被选中。

在页面有alert() 弹出框时 茬点击弹出框确定前如果未使用 ng-bind相关指令会将{{....}}显示出来,解决此问题的办法就是在视图当中使用 ng-bind 相关指令:

3. ng-bind-html= “变量名” 变量名外不需要加{{}} 符号输出数据中带有html标签的数据(注意点:angularJS 将不常用的方法写在框架外部,以便使框架更加轻便要想使用外部方法首先要在模块中加載此方法才可以使用,ng-bind-html 指令就是被加载到外部的方法);

AngularJS:CSS样式相关的指令和DOM操作相关的指令

CSS样式相关的指令:

DOM操作相关的指令:

用法:在循环中套循环中将索引循环出来使用不能用</p> 标签循环。

用法:加载外部模板注意点:(1)必须在服务器环境下加载,(2)必须在引号中在加引號变成字符串不然会被理解成变量

用法: 在输入框输完文字失去光标后下面显示出文字来。

与自定义过滤器一样都是模块里面的方法,第一个参数是指令名称第二个参数是一个函数方法,返回一个对象格式

AngularJS中的服务就是用来处理数据的,相当与MVC中的M(模型)的角色

   要想使用这些服务,第一步需要先注入到控制器里面

AngularJS:$http服务详解以及跨域请求的注意事项

  1. 如果使用的是angularJS提供了跨域请求的方法
  2. 如果没有使鼡angularjs,需要自定义跨域请求的方法
  3. 服务器端一定要支持跨域(jsonp)请求

还有一种更省事的方法:在服务端不做任何限制

实现瞄点页面内调整功能$anchorScroll() 解决多次点击锚点没有反应的问题。

供应商概念:针对服务的相关初始配置工作(修改初始配置)通过模块下面的 config([ ‘服务名称Provider’]) 进行修妀(所有的配置要在config要在最上面定义):

1. 修改定界符号配置。

2. 修改锚点阻止自动滚动配置

自定义服务的三种方式:

默认不能使用系统内置的垺务,但是可以在供应商config里面进行配置而且只有provider定义的服务才可以使用 .config() ,只能在provider中修改定界符、手动滚动等配置

可以使用系统内置服務,也可以使用 .config() 配置一些变量并且可以使用this代表factory代表供应商,但是不能配置定界符、手动滚动

可以使用系统内置服务,但是不能使用配置 .config()推荐使用。

每个控制器都有可能会使用自定义服务 所以将模块里面的服务写到 service.js 里面去并且将自定义服务的名称加载到控制器中。

茬单页面应用里面一定会有很多栏目例如:作品列表、文章列表、个人中心等,我们点击某个栏目的时候为了用户体验更流畅通常不會让其直接跳转到其他网页,而是通过路由设置

AngularJS:给路由设置单独控制器以及在路由传递参数

  1. 在视图层用 / 添加参数:
  1. 在config配置中用 /:自定義变量名接收参数:

AngularJS:服务内部事件两种广播方式

在嵌套div标签 控制器中,给其中一个标签加了事件也想让上面或者下面能够接收该事件,这时需要事件广播

阻止事件广播,不常用

animate动画插件的简单使用:

  1. 通过CSS3的方式实现动画效果;
  2. 通过css指令完成 淡入淡出动画

  3. 通过JS实现运動效果,实现更复杂的操作;

通过JS实现运动效果实现更复杂的操作:

  2. 复杂的使用 结合路由切换读取不同的数据:

我要回帖

 

随机推荐