首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有一种方法可以在ng-repeat中选择当前作用域?

有没有一种方法可以在ng-repeat中选择当前作用域?
EN

Stack Overflow用户
提问于 2017-06-15 13:35:30
回答 0查看 67关注 0票数 3

我有一个Angular 1.x MVC,设置如下:

代码语言:javascript
复制
...

.controller('orderdetailCtrl', ['$scope', 'orderServer', ..., function($scope, orderServer, ...) {

  $scope.refundDetail = function(item) {
    orderServer.refundDetailDialog(item).result.then(function(data) {
      if(data) {
        item.refund_info.refund_balance = data;
      }
    });
  }

  $scope.refundEdit = function(item) {
    orderServer.refundEditDialog(item).result.then(function(data) {
      if (data) item.refund_info.refund_balance = data;
    });
  }

  ...

}]).controller('refundDetailDialogCtrl', ['$scope', 'orderServer', ..., function($scope, orderServer, ...) {

  ...

  $scope.cancel = function() {
    $modalInstance.close($scope.entity.refund_info.refund_balance);
  };
}]).factory('orderServer', [..., function(...) {

  return {
    refundDetailDialog: function(item) {
      return $dialogs.create('/.../xxx.modal.html', 'refundDetailDialogCtrl', item, {
        size: "lg"
      });
    },
    refundEditDialog: function(item){
      return $dialogs.create('/.../xxx.modal.html', 'refundEditCtrl', item);
    }

  ...

  }
}]);

现在父页面的设置如下所示:

代码语言:javascript
复制
<tr ng-repeat="details in entity.refundlist">

...

</tr>

这里重复的"details“是$scope.refundDetail中的item,现在上面的代码运行得很好。出于好奇,我想知道是否可以将orderServer的promise中的项目替换为当前的"details“范围(意思是替换item.refund_info.refund_balance = data)。

到目前为止,我已经尝试过:

代码语言:javascript
复制
$scope.refund_info.refund_balance = data;
this.refund_info.refund_balance = data;
refund_info.refund_balance = data;
$scope.details.refund_info.refund_balance = data;
this.details.refund_info.refund_balance = data;
details.refund_info.refund_balance = data;

这些都不管用。

EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44559316

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档