Угловые обратные вызовы Toastr
Привет, я использую Angular Toastr ( https://github.com/Foxandxss/angular-toastr) для создания некоторых сообщений на экране. У меня есть максимум два сообщения, которые могут быть открыты одновременно в любой момент времени, одно из которых имеет тип ошибки, а другое типа предупреждение. Оба сообщения являются постоянными и должны быть закрыты пользователем.
То, как я открываю сообщения, похоже на то, как это объясняется в инструкциях:
app.controller('foo', function($scope, toastr) {
toastr.error('This is your error message', 'Error');
toastr.warning('This is your warning message', 'Error');
});
Тем не менее, я хотел бы знать, когда один из них закрыт пользователем и какой это был. Я видел в документации, что есть обратные вызовы onHidden и onShown, которые я могу использовать, однако я не знаю, как их использовать, поскольку в документации нет дополнительной информации. Также я увидел, что есть флаг isOpened, чтобы проверить, открыто ли конкретное сообщение или нет.
Может кто-нибудь сказать мне, как я могу использовать эти обратные вызовы для выполнения определенного действия после закрытия любого из этих сообщений Toastr? Это первый раз, когда я их использую и немного борюсь.
1 ответ
Документы сообщают вам подпись функции, которую вы хотите использовать с обратным вызовом, что-то вроде этого...
app.config(function(toastrConfig) {
angular.extend(toastrConfig, {
onHidden: myHideFunction
}
}
Тогда где бы вы ни решили разместить эту функцию, она будет выглядеть так:
function myHideFunction(closedWithClick, toast) {
// closedWithClick = bool that shows if toast was closed with click
// toast = the whole toast that was closed
//Put what ever action you want to happen here.
}
Похоже, вы бы определили, какой из них был закрыт на основе этого второго параметра, toast
как я это обозначил. В документах говорится, что передается целый скрытый тост, поэтому вы должны иметь возможность проверить что-то уникальное в каждом из них, возможно, в классе.