У меня есть уведомление, отвечающее за отображение глобальных сообщений в верхней части страницы (информация, предупреждение, подтверждающие сообщения...)
Я создал NotificationView для этой цели, определил его свойство содержимого и предоставил двум обработчикам отображение и скрытие представления.
APP.NotificationView = Ember.View.extend({
templateName: 'notification',
classNames:['nNote'],
content:null,
didInsertElement : function(){
},
click: function() {
var _self = this;
_self.$().fadeTo(200, 0.00, function(){ //fade
_self.$().slideUp(200, function() { //slide up
_self.$().remove(); //then remove from the DOM
});
});
_self.destroy();
},
show: function() {
var _self = this;
_self.$().css('display','block').css('opacity', 0).slideDown('slow').animate(
{ opacity: 1 },
{ queue: false, duration: 'slow' }
);
}
});
В идеале, я должен иметь возможность отправлять событие с любого контроллера или маршрута, чтобы показать представление с надлежащим контентом и стилем. Какой был бы лучший способ архитектовать этот
Я думал об использовании именованной розетки в своем шаблоне приложения, однако выходы не подходят для динамических просмотров.
<div id="content">
{{outlet notification}}
{{outlet}}
</div>
Я также думал об архитектуре представления уведомления как ответ на состояние "Приложение" или "Модуль".