AngularJs学习记录-(2) ng-click

刚才学习了AngularJS的ng-click;通过一个小案例,发现AngularJS框架的方便之处;

ng-click是用来告诉AngularJS当他所在的元素被点击时出发某个函数ng-click=‘fun()’;

AngularJS只会在$scope中寻找你要运行的函数,并不会去搜索全局函数;


<body ng-app="hd">
    <div ng-controller="ctrl">

        <!--
        ng-click='fun()';在该元素被点击时,运行已经定义好的fun();
        -->
        商品名称:{{goods.data.title}}<br/>
        商品价格:{{goods.data.price}}<br/>
        库存:{{goods.data.kucun}}<br/>
        购买数量:{{goods.data.num}}<br/>
        总计:{{goods.data.num*goods.data.price}};<br/>
        <button ng-click="goods.add()">增加</button>
        <button ng-click="goods.reduce()">减少</button>
        <!--当你触发click这个方法是,angular会直接去$scope内去寻找与click相对应的方法,并不会调用
        全局变量,所以方法一定要写在$scope-->

    </div>
<script>
   var m =  angular.module('hd',[]);
   m.controller('ctrl',['$scope',function ($scope) {
       $scope.add=function () {				//定义ng-click触发的函数add();
            if($scope.goods.num<$scope.goods.kucun){
                $scope.goods.num++;
            }
       };
       $scope.reduce=function () {			//定义ng-click触发的函数reduce();
           if($scope.goods.num>0){
               $scope.goods.num--;
           } 
       };
       $scope.goods = {'title':'apple macboox','price':8000,'num':0,'kucun':5};//这就是被调用的内容
   }]);
   </script>
其实还有一种比较简便的写法


var m = angular.module('hd',[]);
m.controller('ctrl',['$scope',function ($scope) {
    $scope.goods={				//封装$scope.goods
        data:{'title':'apple macboox','price':8000,'num':0,'kucun':5},	//仿JSON实例
        add:function () {
            $scope.goods.data.num=Math.min(++$scope.goods.data.num,$scope.goods.data.kucun);
        },
        reduce:function () {
            $scope.goods.data.num=Math.max(--$scope.goods.data.num,0);
        }
    }

}]);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值