Я использую синтаксис controllerAs, чтобы избежать супа $scope в моих контроллерах, а также используя ui.bootstrap для представления модального представления.
Мне нужно открыть modalInstace, который имеет ту же область действия, что и текущий контроллер. Когда вы вводите область видимости, вы, вероятно, можете сделать что-то вроде:
var modalInstance = $uibModal.open({
templateUrl: 'addEditModal.html',
scope: $scope
});
Однако, поскольку я не впрыскиваю область действия и не использую синтаксис controllerAs, это не сработает.
Из того, что я нашел, вам нужно будет использовать разрешение для передачи данных, но вы должны передать его явно через функции. Есть ли способ передать всю область?
Есть куча вещей, которые мне нужно сделать в этом модальном режиме, и пропущенные грузы данных кажутся излишними.
Не хочу этого делать, потому что это кажется грязным...
var modalInstance = $modal.open({
templateUrl: 'myModalContent.html',
controller: 'ModalInstanceCtrl',
resolve: {
user: function() {
return vm.user;
},
something: function() {
return vm.something;
},
blah: function() {
return blah;
}
}
});
Любые лучшие идеи?