我有一个按钮。单击此按钮时,我想显示加载模板(使用sacha:spin
)5秒钟。
'click #submit-air': (e,t) ->
e.preventDefault()
...
我正在使用iron:router
,而且从我在文档中看到的内容来看,似乎答案就在hooks
的某处,但我无法弄明白。在同一路线上停留时,显示加载模板达到设定秒数的最佳方法是什么?这可能吗?
答案 0 :(得分:1)
我根本不会使用铁制路由器。尝试这样的事情:
Session.setDefault('loading', false);
Template.something.helpers({
loading: function() { return Session.get('loading');}
});
Template.something.events({
'click button': function(e,t) {
Session.set('loading', true);
Meteor.setTimeout(function(){
Session.set('loading', false);
// anything else you want to do. Maybe Router.go('somewhere else')
}, 5000); // wait 5 seconds
});
现在在你的模板中:
{{#if loading}}{{>spinner}}{{else}}
<-- your template with a button--!>
{{/if}}