2015-02-15 2 views
0

Я хочу использовать объект пользователя <firebase-login>, чтобы проверить, зарегистрирован ли пользователь для моих элементов. Как глобальный объект пользователя без вызова кода ниже в каждом пользовательском элементе?Как глобальное связывание данных полимерной базы?

<firebase-login id="login" 
       user="{{user}}" 
       statusKnown="{{statusKnown}}" 
       location="FIREBASE_URL" 
       provider="{{provider}}" 
       on-error="{{error}}"></firebase-login> 

ответ

1

Создать custum-элемент, который выглядит примерно так,

<polymer-element name="example" attributes="user"> 
<template> 
    <firebase-login 
    id="login" 
    user="{{user}}"     
    statusKnown="{{statusKnown}}"     
    location="FIREBASE_URL" 
    provider="{{provider}}"     
    on-error="{{error}}"> 
    </firebase-login> 
</template> 

    <script> 
    Polymer({ 

    }) 
    </script> 
</polymer-element> 

Затем используйте pvc-globals или создать другой пользовательский элемент, который проходит глобалам полимер имеет пример app-globals, где они показывают, как это сделать.

<polymer-element name="app-example" attributes="globals"> 
    <template> 
    <pvc-globals value="{{globals}}"></pvc-globals> 
    <example-element user="{{user}}"></example-element> 
    </template> 
    <script> 
    Polymer({ 
     ready: function() { 
     this.globals.user = this.user; 
     } 
    }); 
    </script> 
</polymer-element> 

Или внутри элемента примера:

<polymer-element name="example" attributes="user globals"> 
<template> 
    <pvc-globals value="{{globals}}"></pvc-globals> 
    <firebase-login 
    id="login" 
    user="{{user}}"     
    statusKnown="{{statusKnown}}"     
    location="FIREBASE_URL" 
    provider="{{provider}}"     
    on-error="{{error}}"> 
    </firebase-login> 
</template> 

    <script> 
    Polymer({ 
     ready: function() { 
     this.globals.user = this.user; 
     } 
    }) 
    </script> 
</polymer-element> 

Надеется, что это помогает!

Смежные вопросы