0
У меня есть окно ввода в модальном всплывающем окне, я хочу это значение в моем основном контроллере, который вызвал модальный.Как получить значение от модального всплывающего окна углового js
У меня есть окно ввода в модальном всплывающем окне, я хочу это значение в моем основном контроллере, который вызвал модальный.Как получить значение от модального всплывающего окна углового js
Легкий способ:
//Modal controller
$rootScope.$broadcast('modal:nameOfModal:onSave', { data: data })
//Any other controller
$scope.$on('modal:nameOfModal:onSave', function(event, data) { ... })
Правильный способ:
Factory
с помощью методов, представляющих каждый модальный тип вам нужноFactory
(как Factory.confirmationWindow()
) возвращая promise
, которые должны обрабатываться отдельно в контроллерах, которые поднимаются вверх propriate модальныйЗов что-то вроде в контроллере
Controller.propotype.openModal = function() {
ModalsFactory.confirmationModal().then(function(result) {
//using result inside of your controller
//if clicked ok
}).catch(function() {
//behavior to be called when modal canceled
});
}
Pros:
Минусы:
ModalsFactory
будет большой файл
Вы используете 'modal' директиву' Ui-bootstrap' или другого поставщика модальной? –