繁体   English   中英

显示Meteor.user()

[英]Displaying Meteor.user()

我有这个模板:

<template name="index">
  {{#if currentUser}
    {{userid}}
  {{/if}}
</template>

之间有什么区别

Template.index.helpers({
    userid: function() {
        return Meteor.user()._id;
    }
});

Template.index.helpers({
    userid: Meteor.user()._id
});

最后一个给出此错误: Uncaught TypeError:无法读取未定义的属性'_id'

最简单的方法是使用{{currentUser._id}}

Meteor.user()._id是正确的。 问题是当您加载页面时,最初数据不可用, Meteor.user()将为空,直到建立DDP连接并且浏览器将您登录为止(这需要几百毫秒)。 Meteor.user() && Meteor.user()._id来更正此问题。

这两个Meteor.user()._id之间的区别在于,您传递的是在加载模板时加载的第一个静态值。 即使Meteor.user()更改或您注销,它也将坚持下去。

传递function您告诉助手可以重新计算,并且如果有任何反应式更改,它将更新。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM