将数组索引设置为在关闭时从 angular bootstrap 模态中选择

Setting your array index to selected from a angular bootstrap modal on close

我一直在关注 angular ui 模式 link https://angular-ui.github.io/bootstrap/#/modal

一切正常,我能够 select 数组的索引 $scope.comps= ['item1', 'item2', 'item3'].

我的父页面在关闭模型时有一个表单,一次只显示一个伴奏,带有下一个、上一个、最后一个、第一个按钮:

$scope.getNext = function () {
        $scope.index = $scope.index + 1;
        $scope.comp = $scope.comps[$scope.index];
    }
    $scope.getLast = function () {
        $scope.index = $scope.comps.length - 1;
        $scope.comp = $scope.comps[$scope.index];
    }

    $scope.getPrevious = function () {
        $scope.index = $scope.index - 1;
        $scope.comp = $scope.comps[$scope.index];
    }
    $scope.getFirst = function () {
        $scope.comp = $scope.comps[0];
    }

如何在关闭模态

后将我的 $scope.comp 设置为 selected 索引

我尝试在 $uibModalInstance.close 函数中设置我的 $scope.comp 如下,但是当我关闭模态时它不会带我到任何 $scope.comp 和保持不变。

$scope.ok = function () {
       $uibModalInstance.close($scope.comp = $scope.comps[$scope.selected.index]);
       ;
    };

$scope.ok = function () {
       $uibModalInstance.close($scope.selected.index);
       $scope.comp = $scope.comps[$scope.selected.index]);

    };

也许你可以做这样的事情。它将 return 所选项目的索引。

$uibModalInstance.close($scope.comps.indexOf($scope.selected));

我通过将 $index 传回 modalInstance.result.then 函数解决了这个问题:

 modalInstance.result.then(
   function (selectedItem) {
        $scope.selected = selectedItem;
        $scope.comp = $scope.comps[$scope.selected];
    }
 );