Я пытаюсь использовать модальный диалог в качестве списка выбора. У меня есть модальный диалог, настроенный как фабрика.
Как я могу получить код на http://plnkr.co/edit/fVpNtrr4Ez68yWYUlgnO?p=preview чтобы вернуть выбранного человека из модального окна?
var selectModal = function ($modal) {
function show(personList) {
var modalOptions = {
templateUrl: "select-modal.html",
controller: selectModalInstanceCtrl,
controllerAs: "modal",
windowClass: "ab-modal-window",
resolve: {
personList: function () { return personList; }
}
};
var modalInstance = $modal.open(modalOptions);
modalInstance.result.then(function (person) {
return person;
});
}
return {
show: show
};
};
var selectModalInstanceCtrl = function ($modalInstance, personList) {
var modalVm = this;
modalVm.personList = personList;
modalVm.selectPerson = function (person) {
$modalInstance.close(person);
};
modalVm.ok = function () {
$modalInstance.dismiss("ok");
};
};
var mainCtrl = function (selectModal)
{
var vm = this;
vm.personList = ['Tom','Dick','Harry','Jane'];
vm.selectedPerson = null;
vm.showSelectModal = function () {
vm.selectedPerson = selectModal.show(vm.personList, vm.selectedPerson);
};
};
selectModalInstanceCtrl.$inject = ["$modalInstance", "personList"];
selectModal.$inject = ['$modal'];
mainCtrl.$inject = ['selectModal'];
angular.module('app', ['ui.bootstrap']);
angular.module('app').factory('selectModal', selectModal);
angular.module('app').controller('mainCtrl', mainCtrl);
В строке 18 в script.js выбранный человек есть, но я не могу передать его обратно на главный контроллер.