有没有办法阻止 loadingTemplate 出现在 "fast" 路线上?

Is there a way to prevent the loadingTemplate from showing up on "fast" routes?

大多数时候,我的搜索 returns 太快了以至于不值得向用户闪烁加载模板...(事实上,这会让人分心,因为如果结果稍后会出现)...如果 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 功能是否可以提供这种能力.

waitOn 功能上没有可使用的配置,但是您为什么不创建另一个布局模板,并用它来显示快速路由?

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

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

更新

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

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