Sepertinya Anda mendapatkan masalahnya, sekarang mari kita cari beberapa solusi yang mungkin.
Meteor versi 1.1
Jika Anda menggunakan meteor baru versi 1.1 (Anda dapat memeriksa menjalankan meteor --version
)
gunakan ini.
Pertama di onCreated
fungsi gunakan ini.
Template.progressBar.onCreated(function () {
var self = this;
self.autorun(function () {
self.subscribe("Progress");
});
});
Lihat selengkapnya tentang berlanggananSiap di DOCS.Sekarang di HTML gunakan seperti ini.
<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>
Meteor di bawah 1,0.4
Anda bisa memiliki sesuatu di router seperti waitOn:function(){}
waitOn:function(){
Meteor.subscribe("Progress");
}
atau karena helper tidak sinkron, lakukan hal seperti ini (tidak disarankan).
Template.progressBar.helpers({
curValue: function () {
query = Progress.findOne({user: Meteor.userId()}).curValue;
if(query != undefined){
return query;
}else{
console.log("collection isn't ready")
}
}
});