大多数情况下,我的搜索返回得如此之快,以至于不值得将加载模板刷新给用户......(事实上,这会分散注意力,因为如果结果是一瞬间,人们对空白屏幕很好稍后)...有没有办法阻止加载模板显示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功能是否可以提供这种能力
答案 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'
}
}