【发布时间】:2014-10-09 21:11:10
【问题描述】:
我会在 data Iron-router 中使用 Meteor.user(),但是这在开始时是未定义的...
我正在尝试:
waitOn: function() {
return curretUserHandle;
},
data: function() {
// access to Meteor.user().username, give me undefined
[...]
var curretUserHandle = {
ready: function () {
return 'undefined' !== typeof Meteor.user();
}
};
但是路由的data函数总是在curretUserHandle.ready() return true之前调用
我知道我可以在data中添加if(Meteor.user()),但是这个选项不喜欢。
为什么 data 不等待 Meteor.user() 准备好?
【问题讨论】:
-
你有
Router.onBeforeAction('loading')吗?没有它,waitOn不会等待。 -
是的@PeppeL-G,我有:
loadingTemplate: 'Loading'和Router.onBeforeAction('loading');... 只有当用户直接进入路由或刷新页面 (F5) 时才会出现问题 -
我很好奇你为什么要把问题搞得这么复杂。我很确定您只需要
return !!Meteor.user()。 -
ehehe...你有正确的@apendua。我已经从另一个地方复制并粘贴了,我没有注意代码......但问题仍然存在:(
-
@elbowz 嗯,这很神秘。
标签: javascript meteor iron-router