javascript - 将 ng-init 与 ng-repeat 一起使用时覆盖

标签 javascript angularjs

我使用以下 loadLocation(asset.id) 函数通过 ng-repeat 和 ng-init 加载特定 Assets 的位置,但我得到所有行的最新 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>

Angular Controller

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

谁能帮帮我?

最佳答案

您只在 scope 中创建了一次 location,您需要为 ng-repeat 数组中的每个元素创建它,以便将反射(reflect)在 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;
        });
    };

关于javascript - 将 ng-init 与 ng-repeat 一起使用时覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30651179/

相关文章:

javascript - 将图像文件添加到 JSON 对象并以 HTML 显示?

javascript - CRM 2011 - 使用 javascript 刷新表单上的单个字段

javascript - Javascript - if else 问题(如果数字为负数或正数则更改样式颜色)

angularjs - 将依赖项注入(inject) angular.factory 并访问依赖项

javascript - 使用纯 CSS 在响应式容器中垂直居中按钮?

javascript - 加载速度 : large JSON file, 或需要处理的小 CSV 文件更好?

javascript - 在 AngularJs 中使用多个函数

javascript - 离开编辑后的 ​​html 表单前提示确认

javascript - 错误 : [$compile:multidir] for Component Directive with Attribute Directive

javascript - 重新启动浏览器后,angular ngCookies 不保存 cookie