Я использую жидкий огонь, чтобы открыть модальное окно в Ember.js. У меня почти два одинаковых раздела - маршрут, контроллер и шаблон - все очень похоже, но по какой-то причине я не смог отлаживать, один раздел создает особый визуальный эффект, почти как будто модальный открывается, закрывается, а затем повторно -Открытие.Liquid Fire Modal Odd Effect или Open/Close/Open?
http://staging.ckdu.ca/shows http://staging.ckdu.ca/schedule
Хотите знать, если кто-нибудь видел что-нибудь подобное этому, и может иметь какие-либо рекомендации.
Это то, что код выглядит как:
router.js:
Router.map(function() {
this.modal('show-modal', {withParams: ['show_id'], otherParams: 'show'});
this.resource('schedule', function() {});
});
приложений controller.js:
import Ember from "ember";
export default Ember.Controller.extend({
queryParams: ['show_id'],
show_id: null
});
график/индекс/controller.js:
import Ember from "ember";
export default Ember.Controller.extend({
needs: ['application'],
filteringByCategory: null,
init: function() {
var show_id = this.get('controllers.application').get('show_id');
if (show_id !== null) { this.setShow(show_id); }
this._super();
},
setShow: function (show_id) {
if (show_id !== null) {
var app = this.get('controllers.application');
var show = this.store.find('show', show_id);
app.set('show_id', show_id);
app.set('show', show);
}
return false;
},
actions: {
openShowModal: function (show_id) {
this.setShow(show_id);
return false;
}
}
});
расписание/индекс/r oute.js:
import Ember from 'ember';
export default Ember.Route.extend({
model: function() { return this.store.all('time_slot'); },
setupController: function (controller, model) {
controller.set('model', model);
}
});
график/индекс/template.hbs:
<div {{action 'openShowModal' slot.show_id}}>
transitions.js:
export default function() {
var duration = 100;
this.transition(
this.use('fade', {duration: duration}),
this.reverse('fade', {duration: duration})
);
this.transition(
this.fromRoute('shows.index'),
this.toRoute('shows.show'),
this.use('scrollThen', 'toLeft', {duration: duration}),
this.reverse('scrollThen', 'toRight')
);
}
Каковы ваши правила перехода? – runspired
@runspired Я обновил свой вопрос с существенными частями файла перехода. –
Я вижу, что вы открыли проблему в Github, учитывая то, что вы разместили здесь и ковыряетесь на своем сайте, происходит какое-то конфликтное правило, которое неожиданно. Возможно, это связано с тем, что queryParam находится на контроллере другого маршрута, и более чем одно правило перехода/правила становится правильным. – runspired