Как украсить $modalInstance в Angular
Возможно ли это, или в настоящее время существует способ перехватить все модальные экземпляры при создании и привязать его к значениям обещания?
В идеале я хотел бы создать для этого Angular декоратор, но в загрузчике приложения нет поставщика $modalInstance, доступен только $modal.
Я хотел бы сделать это для выполнения некоторых общесистемных операций всякий раз, когда модальное открывается в моем приложении.
Спасибо
1 ответ
Решение
Я не уверен, что это оптимальное решение для этой задачи, но именно так я обычно решал эту проблему, когда мне приходилось делать то же самое. $modal
служба определяет другую вспомогательную службу под названием $modalStack
который имеет несколько полезных методов. Вы можете посмотреть его getTop
метод:
app.run(function($rootScope, $modalStack) {
$rootScope.$watch(function() {
return $modalStack.getTop();
}, function(newValue, oldValue) {
if (newValue !== oldValue) {
if (newValue) {
console.log('opened', newValue);
}
else {
console.log('closed', oldValue);
}
}
});
});