簡體   English   中英

將ng-init與ng-repeat一起使用時會覆蓋

[英]overwite when use ng-init with ng-repeat

我使用以下loadLocation(asset.id)函數通過ng-repeat和ng-init加載特定資產的位置,但是我獲得了所有行的最新location.city和location.state

   <tr ng-repeat="asset in assets">
        <td>{{asset.name}}</td>
        <td>{{asset.obj_type.name}}</td>
        <td ng-init="loadLocation(asset.id)">
             {{location.city}}
        </td>
        <td>{{location.state}}</td>
   </tr>

角度控制器

    $scope.loadLocation= function(assetId) {
     Location.locationByIsprimary({assetId: assetId}, function(result) {
                $scope.location=result;
            });
        };

誰能幫我嗎?

您只能在scope內創建location一次,您需要為ng-repeat數組中的每個元素創建location ,以便將其反映在html上。

標記

<tr ng-repeat="asset in assets">
    <td>{{asset.name}}</td>
    <td>{{asset.obj_type.name}}</td>
    <td ng-init="loadLocation(asset)">
         {{asset.location.city}}
    </td>
    <td>{{asset.location.state}}</td>
</tr>

$scope.loadLocation= function(asset) {
 Location.locationByIsprimary({assetId: asset.id}, function(result) {
            asset.location=result;
        });
    };

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM