Установка индекса массива для выбора из углового модального бутстрапа при закрытии

Я следил за модальным интерфейсом angular по этой ссылке https://angular-ui.github.io/bootstrap/#/modal.

Все работает нормально, и я могу выбрать индекс для массива $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 выбранный индекс после закрытия модального окна

Я попытался установить свой $scope.comp в функции $uibModalInstance.close, как показано ниже, но когда я закрываю модальный режим, он не приводит меня к какому-либо $scope.comp и остается прежним.

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

OR

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

    };

person epv    schedule 14.06.2016    source источник


Ответы (2)


Я решил это, передав свой $index обратно в функцию modalInstance.result.then:

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

Может быть, вы можете сделать что-то вроде этого. Он вернет индекс выбранного элемента.

$uibModalInstance.close($scope.comps.indexOf($scope.selected));
person Jefiozie    schedule 23.06.2016