angular学习笔记(五)-阶乘计算实例(2)
2014-05-08 09:50
375 查看
<!DOCTYPE html> <html ng-app> <head> <title>2.3.3计算阶乘实例2</title> <meta charset="utf-8"> <script src="../angular.js"></script> <script src="script.js"></script> </head> <body> <div ng-controller = 'Factorial'> <form action=""> <input type="text" ng-model="factorial.number"/> 的阶乘结果是: <span>{{factorial.result}}</span> </form> </div> </body> </html>
同样是这个例子:
result的改变,本质上是由于number的改变,而不是input的value值改变,number的改变有可能是input的value值改变,也有可能其它input也绑定了number,也有可能后台的数据发生了改变,
因此,不使用input的ng-change属性来绑定计算result的回调,而是监测number的改变,一旦number发生改变,就实时计算result,并在ui上显示.
可以使用$watch:
function Factorial ($scope) { $scope.factorial = {}; $scope.factorial.number = 0; $scope.factorial.result = 1; $scope.factorialNum = function(num){ if(num==0){ return 1; } else { return num*$scope.factorialNum(--num); } }; $scope.compute = function(){ $scope.factorial.result = $scope.factorialNum($scope.factorial.number); }; $scope.$watch('factorial.number',$scope.compute) }
$watch(参数1,参数2):
参数1: 被监测的内容,字符串格式,这个字符串中的内容可以是一个表达式,也可以是$scope中的属性,在后面会详细讲解表达式
参数2: 被监测的内容发生改变后调用的回调
--------------------------------------------------------------------------------------------------------------------------------------------
注意,如果是字符串格式,不需要写$scope,比如这里的factorial.number,但如果是变量格式,则必须传入$scope,如$scope.$watch($scope.factorial.number,$scope.compute)
相关文章推荐
- angular学习笔记(五)-阶乘计算实例(1)
- 【Java学习笔记】Java阶乘计算
- php中__get()和__set()函数学习笔记和实例说明!
- angular学习笔记
- HTMLUNIT学习笔记 & 入门教程 & 黑客实例
- 【caffe学习笔记之3】cifar10数据集简介及win10+caffe环境下运行cifar实例
- 汇编学习笔记---2.2物理地址计算
- Angular学习笔记(九)之注入器层级关系
- 神经网络与深度学习笔记——3.3计算神经网络输出
- 【PMP】学习笔记 三点估算法 挣值管理 折旧法 沟通渠道计算
- cocos2d-x 3.0游戏实例学习笔记《卡牌塔防》第七步---英雄要升级&属性--解析csv配置文件
- angular学习笔记
- 计算广告学习笔记 6.5 广告交易市场 需求方平台
- mybatis 学习笔记 -详解mybatis 及实例demo
- OSGi.NET 学习笔记 [面向服务架构支持][实例][小结]
- jQuery学习笔记--jQuery的ajax方法调用实例
- 计算几何学习笔记之基本运算
- 《Java项目开发全程实录》的实例08企业门户网站(Jsp+javabean)学习笔记
- CSharp学习笔记 (一)序列化类实例
- 蓝牙学习笔记之实例广播数据的解析