Я решил реализовать небольшую анимацию между страницами для Meteor. Я решил сделать это с помощью хука onBeforeAction, установить для элемента DOM значение display:none
, а затем анимировать его с помощью onAfterAction.
Проблема в том, что элемент никогда не исчезает с экрана. Я не уверен, что я делаю неправильно. Вот мой маршрут:
Router.route('/priority/:_id', {
path: '/priority/:_id',
template: 'priority',
data: function(){
return Priorities.findOne({_id: this.params._id})
},
onBeforeAction: function() {
$('.show-title').css('display', 'none');
this.next();
}
// ,
// onAfterAction: function() {
// $('.show-title').velocity('transition.fadeIn', 1000);
// }
})
И для справки вот шаблон:
<template name="priority">
<h1 class="show-title">Priority: {{title}}</h1>
</template>
Я не понимаю, как правильно использовать эти действия?
Template.priority.rendered
. onBeforeAction выполняется до загрузки DOM, и даже onAfterAction может быть раньше, в зависимости от того, как вы используете свои шаблоны. Обычно onBeforeAction используется для подготовки данных для передачи хелперам (я размещаю там свои подписки). Я бы не стал добавлять в маршрут манипуляции с DOM. - person below9k   schedule 12.02.2015