Có vẻ như bạn đã gặp sự cố, bây giờ hãy bắt đầu với một số giải pháp khả thi.
Phiên bản Meteor 1.1
Nếu bạn đang sử dụng sao băng mới phiên bản 1.1 (bạn có thể kiểm tra việc chạy meteor --version
)
sử dụng cái này.
Đầu tiên trên onCreated
sử dụng chức năng này.
Template.progressBar.onCreated(function () {
var self = this;
self.autorun(function () {
self.subscribe("Progress");
});
});
Xem thêm về subscribeReady trên DOCS. Bây giờ trên HTML sử dụng như thế này.
<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 dưới 1.0.4
Bạn có thể có trên bộ định tuyến một cái gì đó giống như waitOn:function(){}
waitOn:function(){
Meteor.subscribe("Progress");
}
hoặc vì trình trợ giúp không đồng bộ làm điều gì đó như thế này (không được khuyến nghị).
Template.progressBar.helpers({
curValue: function () {
query = Progress.findOne({user: Meteor.userId()}).curValue;
if(query != undefined){
return query;
}else{
console.log("collection isn't ready")
}
}
});