每当我用流星角刷新页面时,`Meteor.user()`方法返回undefined

时间:2017-09-14 07:36:02

标签: javascript angular meteor angular-meteor

我在Meteor角度项目中使用accounts-password@1.4.0包。

Meteor.user()方法返回当前用户详细信息,但当我刷新页面时,它返回undefined。 那么有什么办法可以消除这个错误吗?任何帮助将不胜感激。

Meteor.autorun(function () {
  vm.loggedInUser = Meteor.user();
});

它工作正常,但当我重新加载页面时,它会返回undefined

Meteor.autorun(function () {
  vm.loggedInUser = Meteor.user();
  console.log("loggedInUser", vm.loggedInUser); // undefined
});

1 个答案:

答案 0 :(得分:3)

刷新页面Meteor.user()将在几个周期内未定义,直到其数据通过websocket / ddp从服务器重新传输到客户端。它最终将被定义并拥有正确的数据。像Meteor内置的单页应用程序通常不需要页面刷新,但必须处理用户手动刷新的情况。典型的解决方案是显示加载微调器,直到订阅和用户数据准备就绪。

它还Tracker.autorun()而不是Meteor.autorun()