[英]angular js calling ng-init on ng-repeat
我在ng-repeat上調用ng-int(),如下所示:
<ul class="title_page1" style="margin:0; padding:0;">
<li ng-init='some(val.id);' ng-repeat="(key,val) in menu">{{val.name}}</span><span>{{size}}</span></li>
</ul>
我在菜單中有三個元素,通過這個ng-init被調用每個ng-repeat,但是來自某些(val.id)的{{size}}。 所有3個元素的大小相同。 請幫我解決這個問題。
$scope.some={function(id){
return $http({
url : 'url+id',
method : 'GET',
async : false,
}).success(function(data) {
$scope.size = data.length;
});
};
$scope.menu=[{java,php,micro}];
這就是我正在做的事情,但我得到的所有元素的大小是相同的。 但我在谷歌看到,但我沒有從谷歌得到任何結果
您正在檢索3個ID的數據,但是您將它們保存在控制器所在的范圍內,該范圍只能有一個size
變量。 我要做的是將size變量保存到val對象中。
<ul class="title_page1" style="margin:0; padding:0;">
<li ng-init='some(val);' ng-repeat="(key,val) in menu">{{val.name}}</span><span>{{val.size}}</span></li>
</ul>
$scope.some={function(val){
return $http({
url : 'url'+val.id,
method : 'GET',
async : false,
}).success(function(data) {
val.size = data.length;
});
};
$scope.menu=[{java,php,micro}];
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.