Meteor 0.8 Hier erfahren Sie, wie Sie die gerenderten Änderungen für Jquery-Plugins aktualisieren

Meine Frage ist, wie man 1 Ereignis oder übertragenen Rückruf erhält, wenn eine Gruppe Elemente im DOM aktualisiert werden? Wenn ich dem Link im Blaze-Wiki folgehttps://github.com/avital/meteor-ui-new-rendered-callback das ist nicht was ich will. Wenn ich der zweiten Empfehlung folge, erhalte ich so viele gerenderte Anrufe, wie ich Elemente habe. Und das übergeordnete Element erhält nur 1 gerenderten Rückruf beim Laden der Seite.

In meinem Fall verwende ich das Footable Jquery-Plugin, um eine Tabelle zu formatieren. Das anfängliche Laden funktioniert einwandfrei, aber wenn ich eine Filtervariable in der Auflistungssuche ändere, wird das DOM aktualisiert und kein Rendern wird erneut aufgerufen, da Blaze nur einmal gerenderte Aufrufe ausführt. Ich möchte das nicht in eine andere Vorlage einfügen, da dies nur bedeutet, dass mehrere Aufrufe gerendert werden und somit mehrere Aufrufe von Footable, wenn nur einer für die gesamte Tabelle benötigt wird.

Jede Hilfe wird geschätzt.

<template name="customerData">
  <table class="table">
    {{#each dataRows}}
    <tr>
      <td>{{first_name}}</td>
      <td>{{last_name}}</td>
      <td>{{email}}</td>
     {{#each phones}}
        <td>{{phone}}</td>
     {{/each}}
    </tr>
    {{/each}}
  </table>
</template>

Template.customerData.rendered = function(){
  $(".table").footable();
}

Template.customerData.phones = function(){
    var result = [];

    _.each(this.phoneNumbers, function(element, index, list){
       result.push({ phone: element});
    });

return result;
}

Antworten auf die Frage(1)

Ihre Antwort auf die Frage