2016-04-11 22 views
1

Bir MeteorJS uygulaması geliştiriyorum ve dinamik olarak bir modal ve 3 ek eklemeyi etkinleştirmek için bir veri hedef özniteliği ekliyorum, normal davranıyor ve doğru sonuçlar üretiyor, ancak ilk hedef tekrar tekrar CPU'yu tüketen yöntemi çağırıyor. RAM, ve yapmaya çalıştığım şeyi kırıyor. Bulduğum bir düzeltme, önce yöntemi çağıran null/hidden etiketi eklemektir, ancak bu, CPU ve RAM'i yiyen tekrarlanan çağrıları düzeltmez.Bu sonuç neden ilk sonuç verildikten sonra çağrılıyor?

HTML:

{{#each getCategories}} 
    <div class="row hidden-sm hidden-md hidden-lg visible-xs-block"> 
     <div class="col-xs-10"> 
     <h2>{{this.category}}</h2> 
     </div> 
     <div class="col-xs-2"> 
     <!-- 
      Must have this null element for some odd reason 
      the first call to getUniqueID continuous runs and breaks 
      this functionality so this a quick fix 
     --> 
     <!-- <null style="display:none;">{{getUniqueID}}{{getUniqueID}}</null> --> 
     <span data-toggle="modal" data-target="#submit_{{getUniqueID}}"><i class="fa fa-plus-circle fa-3x" aria-hidden="true"></i></span> 
     {{>cardSumbitModal category=this.category id=getUniqueID}} 
     </div> 
    </div> 
     {{#each cards this.category}} 
     <div class="row hidden-sm hidden-md hidden-lg visible-xs-block"> 
     <div class="col-xs-12"> 
      {{>card id=_id color=../color}} 
     </div> 
     </div> 
     {{/each}} 
    {{/each}} 

JS:

getUniqueID: function(){ 
     var id = Session.get("roomNumber"); 
     var count = Session.get("getUniqueID_CallCount"); 

     id = id + count; 
     if(!Session.get("pairSet")){ 
      Session.set("pairSet", true); 
     }else{ 
      count++; 
      Session.set("pairSet", false); 
     } 
     Session.set("getUniqueID_CallCount",count); 
     return id; 
    } 

cevap

2

yardımcıları onlar çok daha sık beklediğinizden daha çalıştırabilirsiniz reaktif olacak şekilde tasarlanmıştır çünkü. Bir diziyi eşlemek için getCategories yardımcı programını kurmalı ve benzersiz kimliği ek bir sütun olarak eklemelisiniz, böylece her belge/satır ile hesaplanması gerekmez.