目前,我在路线之间设置动画的唯一解决方案是淡出当前页面onBeforeAction
并淡入新页面onAfterAction
。但这只是跛脚。
我想尝试执行some really sleek transitions like these。
我认为这需要同时在页面上呈现多个页面,但这看起来非常耗费资源,甚至看起来根本不使用铁路由器。
我是如何实现这一点的?
答案 0 :(得分:4)
我使用像http://meteorpad.com/pad/5kii9SRbbnjiTHeQe
这样的解决方案MeteorPad不允许使用IronRouter,因此我的示例不使用它。在IronRouter中,您可以使用action()方法设置“currentPage”会话变量,并始终呈现“转换器”模板。像这样:
Router.map(function() {
this.route('home', {
path: '/',
action: function() {
Session.set('currentPage', 'home');
this.render('transitioner');
}
});
this.route('about', {
action: function() {
Session.set('currentPage', 'about');
this.render('transitioner');
}
});
});
我使用了一个包装器。它还帮助我定义过渡样式和方向。
请注意订阅/取消订阅,因为上一页将在转换完成之前对订阅更改作出反应!
答案 1 :(得分:3)
这个问题似乎被问到了相当多的问题并且没有明确的解决方案,而且很多答案都会变得陈旧,或者至少不适用于最新的铁路由器和Meteor 1.0。
我只是做了一堆寻找最佳答案,至少在今天看来它的包装是:
https://github.com/percolatestudio/momentum-iron-router/ 和 https://github.com/ccorcos/meteor-transitioner/
前者在一段时间内没有更新,但有很多提交。后者几乎没有提交,但可能正在积极开展工作。
我正在努力尝试它们,所以如果我记得我会再次检查。