TypeError: Meteor.user(. .).Services是未定义的
TypeError: Meteor.user(...).services is undefined
我试图获得流星用户的Facebook ID(谁通过Facebook登录)。下面这行给我带来了麻烦:
var userID = Meteor.user().services.facebook.id;
在控制台中显示
TypeError: Meteor.user(...).services is undefined
从我的理解,这是因为用户()。服务尚未初始化。我将代码包装在if(Meteor.user())
中,以确认用户已初始化。代码在按下按钮时执行,因此它肯定有足够的时间启动。当我删除自动发布功能时,这种情况就开始发生了(尽管这可能是无关的)。我还需要做些什么来使它在没有自动发布的情况下工作吗?
用以下方法解决:
Meteor.publish("getUserData", function () {
return Meteor.users.find({_id: this.userId});
});
和它的下标。一旦订阅被填满,所有的Meteor.user.services数据就可用了。
services键默认情况下不包含在客户端的用户文档中,因为它包含安全详细信息。您可以通过方法调用来获取它,或者从服务器专门发布它并订阅它。
相关文章:
- 为什么“;未定义的“;在JavaScript中结束循环
- 要求未定义JS回调参数
- 如何检查管道中未定义的项目
- TypeError:无法读取属性'推'未定义的JavaScript
- $window.ga在AngularJS事件中未定义
- 未捕获的TypeError无法读取未定义的属性socialsharing
- 为什么grunt contrib connect的中间件选项的第三个参数是未定义的
- 无法获取属性'selectedIndex'的未定义引用或null引用
- 如何消除代码中的未定义和其他问题
- 未捕获的ReferenceError:$未定义
- this.router在AngularJS 2中未定义
- 未捕获的类型错误:无法读取属性'删除'的未定义
- 节点fs.stat名称未定义
- 尝试在PHP中回显输入文本时出现未定义的索引错误
- Jquery未定义函数正在停止其他操作
- AngularJS指令出错-无法读取属性'编译'的未定义
- 这.SOMETHING 总是返回未定义的 - extjs
- 无法获取属性'Id'使用Knockout.js的未定义或空引用API
- Services.wm 是未定义的(Firefox SDK Extension)
- TypeError: Meteor.user(. .).Services是未定义的