$timeout方法
angular.js的$timeout指令对window.setTimeout做了一个封装,它的返回值是一个promise对象.当定义的时间到了以后, 回调函数就会被执行.
如果需要取消一个timeout,调用 timeout.cancel(promise)方法 timeout(fn, [delay], [invokeApply]);
fn: 回调函数(必填)
delay: number类型.延迟的时间(非必填),如果不填,表示等线程空下来以后就执行.比如当页面被渲染完成后.
invokeApply: 布尔值.是否需要进行脏值检测(非必填),不填默认为true, 则fn回调会被包在
scope.
apply()中执行
返回值: 返回一个promise对象.当定义的时间到了以后,这个promise对象就会被执行
执行后的值就是fn回调函数的返回值
取消timeout: $timeout.cancel([promise])
- promise: 一个由$timeout()所创建的对象。调用cancel()以后,这个promise对象就会被取消。
- 返回值: 如果
$timeout()
的回调还没有被执行的时候就执行cancel()方法,那么$timeout的回调就不会被执行。
控制器与作用域
对作用域中的数据的修改会导致所有依赖于该数据的值都被修改。
使用一个单块控制器
1. 在body元素(或包含了所有数据绑定和指令的元素上)使用ng-controller指令,该控制器应用于所有的HTML元素。
使用同一个控制器创建多个视图:
2. 在同一个应用程序中创建多个视图并复用同一个控制器。 不同的视图能够以不同的方法对同一份数据和功能进行展示。