铁路由器路由与Meteor之间的动画页面转换

时间:2014-09-13 02:23:11

标签: meteor iron-router

目前,我在路线之间设置动画的唯一解决方案是淡出当前页面onBeforeAction并淡入新页面onAfterAction。但这只是跛脚。

我想尝试执行some really sleek transitions like these

我认为这需要同时在页面上呈现多个页面,但这看起来非常耗费资源,甚至看起来根本不使用铁路由器。

我是如何实现这一点的?

2 个答案:

答案 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/

前者在一段时间内没有更新,但有很多提交。后者几乎没有提交,但可能正在积极开展工作。

我正在努力尝试它们,所以如果我记得我会再次检查。