Я создал небольшую демонстрацию для использования, когда мне нужно открыть модальное окно в Angular. Использование директивы в качестве шаблона модального окна.
В чем я не уверен, так это в том, как я передаю данные / функции в модальное окно.
Контроллер открытия:
$scope.openModal = function($event){
$scope.items = [1,2,3,4,5];
$scope.modalInstance = $modal.open({
template: '<modalwindow></modalwindow>',
scope:$scope,
test:'akex'
});
$scope.modalInstance.result.then(function (selectedItem) {
console.info(selectedItem);
}, function () {
console.info('Modal dismissed at: ' + new Date());
});
и модальная директива:
angular.module('angModalApp')
.directive('modalwindow', function () {
return {
templateUrl: 'scripts/directives/modalwindow.tmpl.html',
restrict: 'E',
link: function postLink(scope, element, attrs) {
scope.ok = function () {
scope.modalInstance.close(["a","b","c"]);
};
scope.cancel = function () {
scope.modalInstance.dismiss('cancel');
};
}
};
});
Я спрашиваю, что вы, ребята, думаете о таком использовании модального окна. Есть ли лучший способ сделать это?
Спасибо за уделенное время.
Исходный код проекта можно найти по адресу: https://github.com/trostik/angular-modal-window-demo