获取角度ng-repeat的数组值

时间:2015-01-26 20:23:00

标签: angularjs

我有一个如下所示的列表:

Store 1
  Section A
  Section B
  and so on...
Store 2
  Section A
  and so on...

所以我打开一个模态窗口来创建一个新商店。当我关上窗户时,我回到商店,到目前为止工作得很好!

<div ng-repeat="store in global.user.company2.store">

我需要将回调商店推送到$ scope.global.user.company2.store [?]

modalInstance.result.then(function (newStore) {
    // How do I get the IndexOf value of store?
    // This is one of the stores in the ng-repeat 
    $scope.global.user.company2.store[???].section.push(newStore)
}, function () {
    $log.info('Modal dismissed at: ' + new Date());
});

我将所选商店发送到模式的方式是解决方法

    $scope.createSection = function (size) {

        var modalInstance = $modal.open({
            templateUrl: 'createSection.html',
            controller: 'SectionModal',
            size: size,
            resolve: {
                items: function () {
                    // $scope.radio.model === store
                    // $scope.radio.model2 === section
                    return $scope.radio;
                }
            }
        });

更新:这是一个基本的掠夺者http://plnkr.co/edit/UGN4niAO9nQETqhg8lxn 收音机模型按钮不起作用。如果将解析项更改为$ scope.radio.model,则模式会中断。所以我原样离开了。我想也许它与btn-radio是angular-ui-bootstrap的一部分有关?

1 个答案:

答案 0 :(得分:1)

解析模态时,将返回的对象与对象的数组索引对齐 例如:

 $modalInstance.close({ radio: $scope.radio, index: $scope.items.indexOf($scope.radio) } );

然后,在解决你的模态承诺时,只需取消装箱你的对象:

modalInstance.result.then(function (selectedItem) {
      $scope.selected = selectedItem.radio;
      $scope.selectedIndex = selectedItem.index;
}, function () {});

有关详细信息,请参阅Angular-Bootstrap docs