Angular1.x 中常用 ngRoute 和 ui.router,还有一种为 Angular2 设计的 new router (面向组件)。后面那个没在实际项目中用过,就不讲了。 无论是 ngRoute 还是 ui.router,作为框架额外的附加功能,...
我们可以使用karam+jasmine 进行单元测试,我们通过ngMock引入angular app然后自行添加我们的测试用例。 一段简单的测试代码: describe( calculator , function () { beforeEach(module( calculatorApp )); var...
这是一个开放性的问题(所以答案仅供参考),尽管网上会有很多这样的争论,但是普遍还是认为这并不是一个特别好的尝试。其实当我们学习Angular的时候,我们应该做到从0去接受a...
官方提倡的,关闭debug, $compileProvider myApp.config( function ( $compileProvider ) { $compileProvider .debugInfoEnabled( false );}); 使用一次绑定表达式即{{::yourModel}} 减少watcher数量 在无限滚动加载中避免使用...
Service events,指定绑定的事件 使用 $rootScope controller之间直接使用 $parent , $$childHead 等 directive 指定属性进行数据绑定...
restrict中可以分别设置: A 匹配属性 E 匹配标签 C 匹配class M 匹配注释 当然你可以设置多个值比如 AEC ,进行多个匹配。 在scope中,@,=,在进行值绑定时分别表示 @ 获取一个设置的字符串,它...
停止 $timeout我们可以用cancel var customTimeout = $timeout ( function () { // your code }, 1000 ); $timeout .cancel(customTimeout); 停掉一个 $watch // . $watch () 会返回一个停止注册的函数function that we store to a va...
每个digest周期中,angular总会对比scope上model的值,一般digest周期都是自动触发的,我们也可以使用$apply进行手动触发。更深层次的研究,可以移步 The Digest Loop and apply...
它依赖于 $interpolation服务,在初始化页面html后,它会找到这些表达式,并且进行标记,于是每遇见一个 {{}} ,则会设置一个 $watch 。而 $interpolation 会返回一个带有上下文参数的函数,最...
$rootScrope 页面所有 $scope 的父对象。 我们来看下如何产生 $rootScope 和 $scope 吧。 step1:Angular解析 ng-app 然后在内存中创建 $rootScope 。 step2:angular回继续解析,找到 {{}} 表达式,并解析成变...