如何在子元素中使用polymerfire访问当前用户?

时间:2017-01-12 12:15:18

标签: javascript polymer

我创建了一个用户并使用主要元素中的<firebase-auth>(下面带代码片段)登录,但我只能检索该主要元素中的用户信息(而不是子元素) )。

    <firebase-auth
        id="auth"
        app-name="Carecollector"
        provider="google"
        signed-in="{{signedIn}}"
        user="{{user}}">
    </firebase-auth>

如何检索有关子元素中当前用户的信息? 我应该在需要当前用户信息的每个其他元素中创建一个<firebase-auth>元素吗?

3 个答案:

答案 0 :(得分:2)

只需在需要访问当前用户的任何地方删除另一个firebase-auth

答案 1 :(得分:1)

Ryan Tyler说“只需在你需要访问当前用户的任何地方放下另一个firebase-auth”然后我投了票,因为它不是真的!

我已经证明你无法访问用户,通过频繁的测试和调试来解决这个问题。未定义,null,除了用户之外的任何东西!

除非他是对的...除非你在该财产上设置观察员或类似的东西,否则你永远不会知道它。因为在填充用户值时填充了用户值,并且对于像我这样的javascript新手,我从未想过这一点,并且在填充之前一直尝试访问它。有时需要一两秒钟。

答案 2 :(得分:1)

正如其他人所说,放弃&lt; firebase-auth &gt;在您要检索用户信息的子元素中。还要向子元素添加属性,并使用Polymer的数据绑定系统将属性公开给元素。假设您要访问子元素中的用户数据,

<强> HTML

drop&lt; firebase-auth &gt;在你的元素中这样;

<firebase-auth user="{{currentuser}}"></firebase-auth>

<强> SCRIPT

<script>
    Polymer({
      is: 'your-element-name',
      properties:{
          currentuser: Object
    });
</script>

然后你可以得到用户的 displayName ,例如:

<div>[[currentuser.displayName]]</div>

就是这样。