2015-04-17 14 views
13

Meteor, kısa bir süre önce şablon abonelik özelliklerini tanıttı. Artık Temeplate.xyz.onCreated numaralı telefondan this.subscribe numaralı telefonu arayabilir ve yardımcı {{#if Template.subscriptionsReady}} sadece abonelikler sunucudan hazırlandıktan sonra doğru olabilir.Abonelik yöneticilerini meteor'ın şablon abonelikleriyle nasıl kullanırsınız?

Maalesef bu this.subscribe böyle bir yerinde subs-Cache kullanmak woudl subsciptions yöneticisi tarafından yapılan abonelik kimlikleri _subscriptionHandles girmeyi başaranlar da nasıl subs-manager veya

subs-Cache ile açıkça uyumlu olacak şekilde görünmüyor ve _allSubs this.subscribe'ın parçası mı? Ya da başka bir şekilde, alt-Önbellek ile yapılan Şablon aboneliklerine bağlı olmak için {{#if Template.subscriptionsReady}} işlevini ve Template.instance(). SubscriptionsReady() işlevini nasıl alırsınız.

çalışmıyor

örnek kod: "bağlantısına"

# 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

Eğer buna bir çözüm buldular mı? – chasemb

+0

hayır üzgünüm, bir şey ekleyeceğimi görmek için bir ödül ekleyeceğim – funkyeah

cevap

1

Sacha Greif, Telescope uygulamasında bir çözüm yazdı. Aşağıda temel bir uygulama için önemli olan parçaları ayıklamaya çalıştım. Bildiğim kadarıyla açıkça abonelik hazır olduğunda tepkisel ayarlama ... şablonun hazır durumu ayarlanırken dayanır anladığım kadarıyla:

subsManager = new SubsManager(); 
Template.templatename.onCreated(function() { 
    var instance = this; 
    instance.ready = new ReactiveVar(false); 
    subscription = subsManager.subscribe('yourCollection') 
    instance.autorun(function() { 
    if (subscription.ready()) { //reactive 
     instance.ready.set(true); 
    } 
    } 
} 
+0

https://www.discovermeteor.com/blog/template-level-subscriptions/ – Sacha

3

meteor next (unreleased) versionTemplateInstance#subscribe bir connection seçeneği vardır, ve senin gibi bir abonelik yöneticisini geçmek mümkün olacağını beklenebilir

İlgili konular