У меня есть приложение Ember с кодом модального диалога из этой статьи: http://ember.guru/2014/master-your-modals-in-ember-js
Как лучше всего закрыть/скрыть его, когда в браузере нажимается кнопка «Назад» или «Вперед».
На данный момент оверлей и модальное диалоговое окно останутся видимыми, а содержимое за ними изменится на предыдущую/следующую страницу.
Вот JSBin: http://emberjs.jsbin.com/rifesaroqe
application.hbs:
{{outlet}}
{{outlet 'modal'}}
маршруты/application.js:
App.ApplicationRoute = Ember.Route.extend({
actions: {
showModal: function(name, model) {
this.render(name, {
into: 'application',
outlet: 'modal',
model: model
});
},
removeModal: function() {
this.disconnectOutlet({
outlet: 'modal',
parentView: 'application'
});
}
}
});
components/my-modal.js:
App.MyModalComponent = Ember.Component.extend({
actions: {
ok: function() {
this.$('.modal').modal('hide');
this.sendAction('ok');
}
},
show: function() {
this.$('.modal').modal().on('hidden.bs.modal', function() {
this.sendAction('close');
}.bind(this));
}.on('didInsertElement')
});
didTransition
вApplicationRoute
срабатывает при каждом отдельном переходе в любом месте приложения? Я думал, чтоApplicationRoute
вызывается только по первоначальному запросу. 08.03.2015