У меня есть проект, где я использую ui.bootstrap
, и в соответствии с урока я следовал я должен настроить его примерно так:Вызов Модальные функции в контроллере - AngularJS
'use strict';
angular.module('academiaUnitateApp')
.controller('EntryCtrl', function ($scope, $modal) {
$scope.open = function() {
var modalInstance = $modal.open({
templateUrl: 'modal.html',
controller: 'ModalCtrl'
})
};
});
'use strict';
angular.module('academiaUnitateApp')
.controller('ModalCtrl', function ($scope, $modalInstance) {
$scope.ok = function() {
$modalInstance.close();
};
$scope.cancel = function() {
$modalInstance.dismiss('cancel');
};
$scope.delete = function() {
$modalInstance.dismiss('cancel');
};
});
<script type="text/ng-template" id="modal.html">
<div class="modal-header">
<h3 class="modal-title">I'm a modal!</h3>
</div>
<div class="modal-body">
<p class="alert alert-danger">
WARNING: By deleting the article all it's nested articles will be moved to the article holding this one.
<br/>
Do you still want to delete this article?
</p>
<button class="btn btn-primary" ng-click="delete()">Yes</button>
<button class="btn btn-primary" ng-click="cancel()">No</button>
<span ng-show="error.state" class="alert alert-danger">{{ error.message }}</span>
<span ng-show="done.state" class="alert alert-success">{{done.message}}</span>
</div>
<div class="modal-footer">
<button class="btn btn-warning" ng-click="cancel()">Cancel</button>
</div>
</script>
Это работает найти и все, но что, если я хочу переместить функцию $scope.delete
внутри контроллера EntryCtrl
вместо того, чтобы иметь его в отдельном контроллере?
Быстрый дополнительный вопрос: Как это будет выглядеть, если я хотел бы использовать некоторые переменных из «EntryCtrl» в новом неназванном контроллере? –
Я отредактировал свой ответ, чтобы добавить эту часть. Не могли бы вы проверить, работает ли он так, как ожидалось? –
Это работает. Однако перед функцией вам нужно написать '' outerscope''. Вам не хватает '' ' –