2015-07-20 9 views
9

Qualcuno può fornire un esempio di implementazione corretta di dom-if?Polymer 1.0: guida utilizzando dom-if

Nessun esempio di utilizzo corretto è fornito da official documentation. (Spiacenti, non esiste un collegamento diretto. Devi utilizzare il menu in alto a sinistra e selezionare dom-if).

Ecco quello che ho finora. Ovviamente, non sta funzionando.

<template> 
    ... 
    <template is="dom-if" if="{{action}}=='Login'"> 
     <!-- Also tried: if="{{action=='Login'}}" --> 
    <a href="#">Forgot password?</a> 
    </template> 
    ... 
</template> 

risposta

25

E 'ingombrante, ma si deve fare questo:

<template is="dom-if" if="[[_actionIsLogin(action)]]"> 
    <a href="#">Forgot password?</a> 
</template> 

<script> 
    Polymer({ 
    ... 
    _actionIsLogin: function(action) { 
     return action === 'Login'; 
    } 
    ... 
    }); 
</script> 

creare esplicitamente una funzione che restituisce true o false.

+0

Questo è utile perché mi ha fatto pensare a un approccio imperativo. Quindi, upvoted! Ma non può ancora accettare perché questo particolare codice non funziona. Sentiti libero di modificarlo! Lo farò. Grazie! =] – Mowzer

+0

Inoltre, non penso che sia possibile passare un argomento a una funzione del genere? Puoi? [Vedi questa domanda] (http://stackoverflow.com/questions/31441401/polymer-1-0-is-there-a-a-pass-a-passa-an-argument-to-a-polimero-funzione-da- un-a). – Mowzer

+0

È possibile passare gli argomenti ai binding calcolati se si dichiarano come proprietà. Nella [documentazione] (https://www.polymer-project.org/1.0/docs/devguide/data-binding.html#annotated-computed) si dice "Gli argomenti possono essere proprietà dipendenti o stringhe o numeri letterali". – Maria

4

Credo che il seguente esempio è più o meno semplice e facile da capire/attuazione (non è nel link che hai fornito):

https://www.polymer-project.org/1.0/docs/devguide/templates.html

dalla pagina .. .

<div>{{user.name}}</div> 

<template is="dom-if" if="{{user.isAdmin}}"> 
    Only admins will see this. 
    <div>{{user.secretAdminStuff}}</div> 
</template> 
... 

spero che aiuta S.

+0

È utile perché mi hai mostrato ulteriore documentazione. Quindi, upvoted! Ma non risponde alla domanda perché sto provando a valutare un'espressione 'boolean' in cui hai appena un semplice valore' booleano' con 'user.isAdmin'. La valutazione dell'espressione è il trucco qui e una parte essenziale della domanda. Nessuna risposta è stata accettata, quindi per favore sentitevi liberi di riprovare! =] – Mowzer

1
<template> 
    <iron-ajax   
      auto 
      url="https://jsonplaceholder.typicode.com/todos" 
      handle-as="json" 
      last-response="{{baul}}"> 
    </iron-ajax> 

    <template is="dom-repeat" items="{{baul}}" > 
     <template is="dom-if" if="{{item.completed}}">{{item.title}} is completed<br></template> 
    </template> 


</template>