2016-09-25 4 views
1

Haben Sie eine einfache paper-card mit einer iron-ajax, die iteriert wird ok, aber der Filter, den ich gemacht habe, löst nie aus. Die JSON geholt wird über die Eisen-Ajax hat einen Integer-Wert für den Tag der Woche und ich möchte nur diejenigen von 0. mit Wert habenPolymer 1.0 dom-repeat triggert nicht Filter

das Filterfeld mit folgenden Werten versucht:

filter="{{isMonday}}" 
filter="{{isMonday(item)}}" 
filter="isMonday" 
filter="isMonday(item)" 

Alle diese mit und ohne observe

Komponentencode:

<dom-module id="se-ligor"> 
    <template> 
     <template is="dom-bind"> 
      <iron-ajax auto 
         url="http://localhost:5000/leagues/1" 
         handle-as="json" 
         last-response="{{ajaxResponse}}"> 
      </iron-ajax> 
      <template name="my-paper" is="dom-repeat" items="[[ajaxResponse]]" filter="{{isMonday}}" observe="dayofweek"> 
       <paper-card heading="[[item.name]]"> 
        <div class="card-content"> 
         [[item.description]] 
         [[item.dayofweek]] 
        </div> 
        <div class="card-actions"> 
         <paper-button>Some action</paper-button> 
        </div> 
       </paper-card> 

      </template> 


     </template> 

    </template> 
    <script> 
    Polymer({ 
     is: "se-ligor", 
     isMonday: function (item) { 
      console.log(item.dayofweek); 
      if (item.dayofweek == 0) 
       return True; 
     } 
    }); 
    </script> 
</dom-module> 

Antwort

4
  1. Die Vorlage dom-bind ist nur zum Binden in index.html vorgesehen, nicht in dom-module, sodass die Vorlage entfernt werden sollte. Die filter-Eigenschaft übernimmt den Namen einer Methode ohne Trennzeichen (d. H. Keine Klammern) für Ihr Polymer-Konstruktorobjekt.

    <!-- in <dom-module> --> 
    <template is="dom-repeat" items="[[x]]" filter="isMonday" observe="dayofweek">...</template> 
    
    <script> 
        Polymer({ 
        isMonday: function(item) {...} 
        }); 
    </script> 
    
  2. isMonday enthält einen Tippfehler in return True. In JavaScript ist das Schlüsselwort Kleinbuchstaben: true.

plunker demo