
ng-repeat內(nèi)部形成獨(dú)立scope的使用方法.gif
首先和大多數(shù)指令一樣,<code>ng-repeat</code>也會(huì)形成一個(gè)獨(dú)立的<code>scope</code>,前面有文章說(shuō)如何跨<code>scope</code>獲取值,另一種情況就是如何使用隔離<code>scope</code>。在開發(fā)中經(jīng)常有這種需求,對(duì)于每個(gè)<code>ng-repeat</code>出來(lái)的模塊,需要單獨(dú)計(jì)算,就像圖片中那樣。
其實(shí)代碼很簡(jiǎn)單,只需要,把<code>ng-repeat</code>傳進(jìn)來(lái)的單獨(dú)每一個(gè)小itme傳入到對(duì)應(yīng)的函數(shù)中就可以了。
<body ng-controller="repeatController">
<div ng-repeat="item in tiems">
<input type="text" ng-modal="item.num1" ng-change="changeNum1(item)">
<input type="text" ng-modal="item.num2" ng-change="changeNum2(item)">
<input type="text" ng-modal="item.total" ng-change="changeTotal(item)">
</div>
</body>
<script>
var app=angular.module("app",[]);
app.controller("repeatController",["$scope",function("$scope"){
$scope.itmes=[
{
num1:1,
num2:2,
total:2
},
{
num1:2,
num2:3,
total:5
},
];
$scope.changeNum1=function(item){
item.total=item.num1*item2
};
$scope.changeNum2=function(item){
item.total=item.num1*item2
};
}])
</script>