UI Bootstrapで Angular を使用しています。ブロードキャストされたアラートをビューにバインドされたアラートの配列にプッシュするカスタム ディレクティブを作成しました (Bootstrap アラートとしてレンダリングされます)。特定のタイムアウトの後、アラートはアレイから削除されます (したがって、ビューからも削除されます)。コードは次のとおりです。
angular.module('myApp')
.directive('alerts', function ($timeout) {
return {
restrict: 'E',
templateUrl: 'views/alerts.html',
scope: true, /*share scope between alerts directives*/
link: function (scope) {
scope.alerts = [];
scope.$on('alert', function (event, alert) {
var newLength = scope.alerts.push({type: alert.type, msg: alert.message});
$timeout(function() {
scope.alerts.splice((newLength-1), 1);
}, 3000);
});
}
};
});
アラートを削除する前に、アラートにフェードアウト (または実際には他のアニメーション) を追加できるかどうか疑問に思っています。ヘルプとヒントをいただければ幸いです。