Угловые обратные вызовы 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 как я это обозначил. В документах говорится, что передается целый скрытый тост, поэтому вы должны иметь возможность проверить что-то уникальное в каждом из них, возможно, в классе.

Другие вопросы по тегам