AngularJS repeat实现单独的作用域内数据操作

2016-06-06  本文已影响163人  MakingChoice

先看效果,然后介绍如何实现ng-repeat内各个小的子作用域单独数据绑定。<p>

ngRepeat.gif

下面是这个例子的代码:

<!DOCTYPE html>
<html lang="en" ng-app="scApp">
<head>
    <meta charset="UTF-8">
    <title></title>
    <script src="lib/angular.min.js" type="text/javascript"></script>
</head>
<body ng-controller="scController">
    <div>
        <div ng-repeat="con in content">
            <input type="text" ng-model="con.num1" ng-change="changeNum1(con)"/>
            <input type="text" ng-model="num2" value="con.num2"/>
            <input type="text" ng-model="con.total" ng-change="changeTotal(con)"/>
        </div>
    </div>
</body>
<script>
    var app=angular.module("scApp",[])
            .controller("scController",["$scope", function ($scope) {
                $scope.num2=2;
                $scope.content=[
                    {
                        num1:1,
                        num2:3,
                        total:3,
                    },
                    {
                        num1:2,
                        num2:3,
                        total:6,
                    },
                    {
                        num1:1,
                        num2:6,
                        total:6,
                    }
                ];
                $scope.changeNum1= function (con) {
                    con.total=con.num1*con.num2;
                };
                $scope.changeTotal= function (con) {
                    con.num1=con.total/con.num2;
                }
}])
</script>
</html>

其实方法非常简单,只需要在每个ng-repeat中传入具体的每一个数据分组就可以实现,例如本例子中的<code>ng-change="changeNum1(con)"<code/>这样就实现了单独的小的数据作用域的控制。

上一篇 下一篇

猜你喜欢

热点阅读