有没有办法阻止loadingTemplate出现在“快速”路线上?

时间:2015-04-13 21:14:05

标签: meteor iron-router

大多数情况下,我的搜索返回得如此之快,以至于不值得将加载模板刷新给用户......(事实上,这会分散注意力,因为如果结果是一瞬间,人们对空白屏幕很好稍后)...有没有办法阻止加载模板显示waitOn是否只等待很短的时间?

这是我的配置

  Router.route('/search', {
    waitOn: function () {
      return searchSubsManager.subscribe("search", Session.get('searchString'));
    },
    action: function () {
      this.render('searchResults');
    }
  });

我看到这个包: https://github.com/Multiply/iron-router-progress 你可以控制它是否显示快速路由,但我不需要所有的功能,也不需要它提供的进度条...我只是想知道基本的铁路由器/ waitOn功能是否可以提供这种能力

1 个答案:

答案 0 :(得分:1)

waitOn函数没有配置可用,但为什么不创建另一个布局模板,用它来显示快速路径?

<template name="noLoading">
  {{> yield}}
</template>

Router.map(function () {
  this.route('fastRoutes', {
  path: '/someRoutes',
  template: 'myHomeTemplate',
  layoutTemplate: 'noLoading',
  });
});

<强>更新

或使用sacha:spin package并根据查询的持续时间更改类名。

if(queryDuration){
 Meteor.Spinner.options = {
    className: 'none'
  }
}else{
  Meteor.Spinner.options = {
    className: 'spinner'
  }
}