ऐसा लगता है कि आपको समस्या मिल गई है, आइए अब कुछ संभावित समाधानों पर चलते हैं।
उल्का संस्करण 1.1
यदि आप नए उल्का का उपयोग कर रहे हैं संस्करण 1.1 (आप चल रहे meteor --version
. की जांच कर सकते हैं )
इसका उपयोग करें।
सबसे पहले onCreated
. पर फ़ंक्शन इसका उपयोग करें।
Template.progressBar.onCreated(function () {
var self = this;
self.autorun(function () {
self.subscribe("Progress");
});
});
subscriptionReady के बारे में अधिक देखें DOCS पर। अब HTML . पर इस तरह प्रयोग करें।
<template name="progress">
{{#if Template.subscriptionsReady}}
<div id="progress-bar" style="width:{{curValue}}; background-color:*dynamicColor*;"></div>
{{else}}
{{> spinner}} <!-- or whatever you have to put on the loading -->
{{/if}}
</template>
उल्का 1.0.4 के नीचे
आप राउटर पर waitOn:function(){}
. जैसा कुछ रख सकते हैं
waitOn:function(){
Meteor.subscribe("Progress");
}
या चूंकि हेल्पर एसिंक्रोनस होते हैं, ऐसा कुछ करते हैं (अनुशंसित नहीं)।
Template.progressBar.helpers({
curValue: function () {
query = Progress.findOne({user: Meteor.userId()}).curValue;
if(query != undefined){
return query;
}else{
console.log("collection isn't ready")
}
}
});