有没有办法阻止 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'
}
}
大多数时候,我的搜索 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'
}
}