Добавлен Liquid Fire в проект Ember CLI, {{liquid-outlet}} ничего не делает
Недавно я добавил Liquid Fire в свой проект Ember CLI 0.2.3, выполнив следующие шаги, описанные в этом руководстве: http://www.programwitherik.com/doing-animations-and-transitions-with-liquid-fire-and-ember/
Я добавил Liquid Fire с помощью npm install --save-dev liquid-fire. Я добавил файл transitions.js с кодом, изложенным в руководстве. Я заменил {{выход}} на {{выход жидкости}}. И ничего. Ничего не происходит. Нет ошибок в журналах или консоли, и ничего не отображается, где находится розетка. Я попробовал именно то, что говорит учебник. Я пропускаю шаг, чтобы заставить {{liquid-outlet}} работать?
3 ответа
Я была такая же проблема. Моя проблема заключалась в том, что я не использовал правильные названия маршрутов.
Я включил ENV.APP.LOG_TRANSITIONS = true;
вариант в /config/environment.js
, Это печатает имена маршрутов в вашей консоли при переходе, что помогло мне написать правильные переходы в /app/transitions.js
, Также не забудьте добавить {{liquid-outlet}}
на ВСЕ ваши розетки при раскроении маршрутов.
Вот мой transitions.js
файл:
export default function(){
this.transition(
this.fromRoute('dashboard'),
this.toRoute('bots'),
this.use('toLeft'),
this.reverse('toRight')
);
this.transition(
this.fromRoute('bots.bot'),
this.toRoute('bots.create'),
this.use('toLeft'),
this.reverse('toRight')
);
this.transition(
this.fromRoute('bots.bot'),
this.toRoute('bots.index'),
this.use('toRight'),
this.reverse('toLeft')
);
this.transition(
this.fromRoute('bots.bot.index'),
this.toRoute('bots.bot.edit'),
this.use('toLeft'),
this.reverse('toRight')
);
this.transition(
this.fromRoute('bots.bot'),
this.toRoute('bots.bot.edit'),
this.use('toDown'),
this.reverse('toUp')
);
}
Вы можете отладить ваши переходы, разместив this.debug()
как последний аргумент в переходах, которые, по вашему мнению, должны совпадать. Для каждой розетки это выведет на консоль информацию о том, почему каждое правило перехода не совпадает.
Смотрите здесь: http://ef4.github.io/liquid-fire/
Перезапустите "ember serve". Откройте свой терминал, на котором работает ember serve. Наберите Ctrl+C и дождитесь окончания тлеющего угля. Снова введите "ember serve" и снова откройте свою веб-страницу ember (http://localhost:4200/). Работал у меня. Удачи!
Я была такая же проблема.
Я просто неуместна transitions.js
в /
вместо внутри /app/
, Теперь все работает!
Вещи, которые вы можете попробовать:
- Добавить явную анимацию в розетку
{{liquid-outlet use="toLeft"}}
, Если это работает, это, вероятно, вашapp/transition.js
файл. - добавлять
this.debug()
вapp/transition.js
и посмотрите, правильно ли он записывает. Если да, то совпадают ли ваши маршруты? См пример - Обязательно заверните весь
transitions.js
файл вexport default function() { ... };
Использование Ember CLI 1.13.13: