angularJS的$watch和$apply
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
</head>
<body ng-app="fng">
<div ng-controller="fc1">
<div ng-bind="timeNow"></div>
<div ng-bind="timeNow2"></div>
<hr>
<div ng-bind="test.count"></div>
<div ng-bind="test.name"></div>
<input type="button" value="增加" ng-click="add()"/>
</div>
</body>
<script src="angular.js"></script>
<script>
var ngApp=angular.module("fng",[]);
ngApp.controller("fc1",['$scope','$http',function($scope){
$scope.timeNow=new Date(); setInterval(function(){
//从一个宏观的角度来看$scope.$apply要比$scope.$watch的范围大得多
/*
* $scope.$apply方法内部给出要更新的$scope局部成员,
* 这样才能触发ng的局部更新监听
* (如果使用$digest的话那么整个$scope中的成员变化都会被监听,效率大大降低)
* */
$scope.$apply(function() {
if (true) {
$scope.timeNow = new Date();
$scope.timeNow2 = new Date();
}
});
});
//=====================================================
$scope.test={
count:0,
name:"小于10"
};
$scope.add=function(){
$scope.test.count+=1;
};
//这是针对于你想跟踪一个你自己的成员而设计
/*
* $scope.$watch提供三个参数(对象成员/其他成员, 回调函数, (可选)*对象成员的属性*是否有变化)
* 第三个参数如果不填,只有该对象变为数组或者其它类型才能触发回调函数
* */
$scope.$watch('test',function(){
if($scope.test.count>10){
$scope.test.name="大于10啦!";
}
},true);
}]);
</script>
</html>
angularJS的$watch和$apply的更多相关文章
- AngularJs $scope 里面的$apply 方法和$watch方法
Angular $scope 里面的$apply 方法 Scope提供$apply方法传播Model变化 <!DOCTYPE html> <html> <head> ...
- angularJS $watch $apply $digest
看O'Reilly的书看到$watch这部分,不过没看懂,网上很多资料也含糊不清,不过还是找到了几个好的,简单记录一下. 一句话说明,$watch是用来监视变量的,好了直接上代码 <html&g ...
- angularJS报错$apply already in progress的原因和解决方法
如果我们使用了AngularJS中的$scope.$apply()或者$scope.$digest(),我们很可能会遇到类似下面的错误,虽然这个错误没有太大影响,但是在日志中看起来还是很不爽的,日志中 ...
- Angularjs的$apply及其优化使用
今天,我们要聊得是Angularjs中的小明星$apply.当我们数据更新了,但是view层却没反应时,总能听到有人说,用apply吧,然后,懵懂无知的我们,在赋值代码后面加了$scope.$appl ...
- jQuery和AngularJS的区别小分析
最近一直在研究angularjs,最大的感受就是它和之前的jQuery以及基于jQuery的各种库设计理念完全不同,如果不能认识到这点而对于之前做jQuery开发的程序员,去直接学习angularjs ...
- angularJS和jQuery的区别
问题: 假如我熟悉利用jQuery去开发客户端应用,那么我怎么上手angularjs,能否描述下所需要的模式转变,下面这些问题能够帮助你给出一个回答: 1.在设计客户端web应用的时候有什么区别,最大 ...
- 关于angularjS与jQuery框架的那些事
这篇文章主要介绍了jQuery和angularJS的区别浅析,本文着重讲解一个熟悉jQuery的程序员如何应对angularJS中的一些编程思想的转变吗,需要的朋友可以参考下 最近一直研究angula ...
- AngularJs 与Jquery的对比分析,超详细!
闲来无事,在网上发现了一篇对比AngularJs和Jquery的文章.恰好最近自己也在研究AngularJs.特此收藏.需要的朋友可以参考. 原问题:假如我熟悉利用jQuery去开发客户端应用,那么我 ...
- AngularJs 脏值检查及其相关
今天突然就想写写$digest和$apply,这些都是脏值检查的主体内容. 先以普通js来做一个简单的监控例子吧: var div = ducoment.getElementById("my ...
随机推荐
- html加强
<html> <head><title>hello</title></head> <body> <p>段落</ ...
- 奇妙的旅行[XDU1012]
Problem 1012 - 奇妙的旅行 Time Limit: 1000MS Memory Limit: 65536KB Difficulty: Total Submit: 396 Acc ...
- HDU 1312 (BFS搜索模板题)
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1312 题目大意:问迷宫中有多少个点被访问. 解题思路: DFS肯定能水过去的.这里就拍了一下BFS. ...
- TYVJ P1046 Blast Label:dp
描述 设有字符串X,我们称在X的头尾及中间插入任意多个空格后构成的新字符串为X的扩展串,如字符串X为“abcbcd”,则字符串“abcb□cd”,“□a□bcbcd□”和“abcb□cd□”都是X的扩 ...
- 【BZOJ】1015: [JSOI2008]星球大战starwar(并查集)
http://www.lydsy.com/JudgeOnline/problem.php?id=1015 看了题解的囧T_T,一开始以为是求割点,但是想到割点不能统计.... 这题用并查集,思想很巧妙 ...
- POJ 1191 棋盘分割(DP)
题目链接 大体思路看,黑书...其他就是注意搞一个in数组,这样记忆化搜索,貌似比较快. #include <cstdio> #include <cstring> #inclu ...
- Redis错误配置详解
在使用Redis做缓存时,应用往往能得到非常高的性能.然而,如果配置不当,你将遇到很多令人头疼的问题,比如复制缓冲区限制.复制超时等. Redis提供了许多提高和维护高效内存数据库使用的工具.在无需额 ...
- Servlet的生命周期,并说出Servlet和CGI的区别,Servlet与JSP的区别
一.Servlet 生命周期 1.加载 2.实例化 3.初始化 4.处理请求 5.销毁 二.Servlet与cgi的区别: Servlet处于服务器进程中,它通过多线程方式运行其service方法,一 ...
- 安装phpunit
按照网上的提示,将go-pear.phar和phpunit.phar都放到php.exe所在的目录.但是以管理员身份运行时,输入命令php PEAR/go-pear.phar或php -d phar. ...
- jq实现多banner效果图
<!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title&g ...