angularJs小应用----计算购物金额-动态改变邮费
2016-04-03 20:54
621 查看
function A($scope){ $scope.iphone={ //---------创建iphone对象 money : 50, //默认价格 num : 1, //默认个数 fre : 10 //默认邮费 }; $scope.sum=function(){ //-------计算费用 return $scope.iphone.money * $scope.iphone.num; }; $scope.$watch($scope.sum,function(newValue,oldValue){ //console.log(newValue);//函数sum返回值--改变后的值 //console.log(oldValue);//函数sum返回值--改变前的值 $scope.iphone.fre = newValue >= 200 ? 0:10; }); }
//-----------------------------$watch():监听函数---------------------------------//
$watch()两个必选参数,一个可选参数
//$watch()传入两个参数时,可以监听单值:变量或返回单值的函数
//参数1为要监听的值,参数2为回调函数,即监听的值发生改变时要执行的函数
$scope.$watch('iphone.money',function(){ console.log('money改变'); //当iphone.money改变时触发 }); $scope.$watch('iphone',function(){ console.log('对象改变'); //始终触发不到, 因为iphone是对象,不是单值的 }); $scope.$watch('iphone',function(){ console.log('对象改变'); //iphone对象中任意一个成员改变都会触发到 }, true ); // true:可以监听多值的集合 $scope.$watch( 'iphone.money', function(newValue,oldValue){ console.log(newValue); //输出money改变后的值 console.log(oldValue); //输出money改变前的值 });
<div ng-controller='A' > <p> 价格: <input type='text' ng-model='iphone.money'> </p> <p> 个数: <input type='text' ng-model='iphone.num'> </p> <p> 费用: <span> {{ sum() | currency:'¥' }} </span> </p> <p> 运费: <span> {{ iphone.fre | currency:'¥' }} </span></p> <p> 总额: <span> {{ sum() + iphone.fre | currency:'¥' }} </span></p> </div>
过滤器
currency:货币格式化的方法
如:1. {{ iphone.money * iphone.num | currency }} -----$50.0
2. {{ iphone.money * iphone.num | currency:'¥' }} -----¥50.0
费用小于200时:
费用大于200时:
相关文章推荐
- 初识angularJs
- Angular 根据 service 的状态更新 directive
- AngularJs 60分钟入门基础教程
- AngularJs 基础(60分钟入门) (转)
- 初识angularJs
- Angularjs学习笔记1_基本技巧
- AngularJs 60分钟入门基础教程
- Angular 根据 service 的状态更新 directive
- angularJs directives
- angularjs介绍
- AngularJS专题——路由
- Angularjs动态绑定HTML文本
- 详说Angular之指令(directive)
- angularjs
- 【技术干货】测试Angular项目的正确姿势
- 21、AngularJs知识点总结 part-3
- angularjs学习笔记之directive的返回对象属性(一)
- 火狐浏览器angular跳转layer弹窗兼容问题
- angularJS select
- 20、AngularJs知识点总结 part-2