2015-04-17 10 views
13

Meteor hat vor kurzem Vorlagenabonnementfunktionen eingeführt. Sie können jetzt aus einem Temeplate.xyz.onCreated Anruf aufrufen und der Helfer {{# TemplateSubscriptionsReady}} wird nur dann wahr, wenn die Abonnements vom Server fertig sind.Wie würden Sie Subskriptionsmanager mit Meteorschablonenabonnements verwenden?

Leider scheint dies nicht offensichtlich kompatibel zu sein mit subs-manager oder subs-Cache

Wie woudl Sie verwenden subs-Cache an Ort und Stelle von this.subscribe, so dass die Abonnement-IDs von Die Zuordnungen Manager machte es in _subscriptionHandles machen und _allSubsDer Teil von thisScribe? Oder anders gefragt, wie erhalten Sie {{# TemplateSubscriptionsReady}} und die Funktion Template.instance() .subscriptionsReady(), um von Template-Subskriptionen abhängig zu sein, die mit Subs-Cache erstellt wurden.

Beispiel-Code, der nicht funktioniert:

hat eine connection Option TemplateInstance#subscribe, und ich würde erwarten, dass Sie ein Abonnement-Manager als passieren wäre in der Lage
# in some top level file 
share.subsCache = new SubsCache( 
    expireAter: 5 
    cacheLimit: 10 
) 

#in a template file 
Template.entryRevisionInfo.onCreated -> 
    share.subsCache.subscribe('somePub') 
+0

Haben Sie eine Lösung gefunden? – chasemb

+0

keine Entschuldigung, habe ich nicht, ich werde ein Bounty hinzufügen, um zu sehen, ob das etwas erhöht – funkyeah

Antwort

1

Sacha Greif hat eine Lösung in der Telescope App geschrieben. Ich habe versucht, die Teile zu extrahieren, die für eine grundlegende Implementierung wichtig sind. Soweit ich es verstehe, hängt es davon ab, den Ready-Status der Vorlage explizit zu setzen ... und sie reaktiv zu setzen, wenn das Abonnement bereit ist:

+0

Sie können sich auch auf https://www.discovermeteor.com/blog/template-level-subscriptions/ beziehen – Sacha

Verwandte Themen