0
我正在根據Session變量檢索Collection文檔,然後通過iron:router數據上下文將其作爲變量傳遞給store
。問題在於它有時會返回undefined
,好像它沒有及時準備幫助程序執行。我如何確保變量總是在助手/模板運行之前定義?從路由器數據中未定義的輔助變量
這裏是我的路線,你可以看到數據上下文包括檢索基於存儲在Session
變量的_id
集合的文檔:
Router.route('/sales/pos', {
name: 'sales.pos',
template: 'pos',
layoutTemplate:'defaultLayout',
loadingTemplate: 'loading',
waitOn: function() {
return [
Meteor.subscribe('products'),
Meteor.subscribe('stores'),
Meteor.subscribe('locations'),
Meteor.subscribe('inventory')
];
},
data: function() {
data = {
currentTemplate: 'pos',
store: Stores.findOne(Session.get('current-store-id'))
}
return data;
}
});
在此可以依賴於store
變量幫手被傳遞給模板:
Template.posProducts.helpers({
'products': function() {
var self = this;
var storeLocationId = self.data.store.locationId;
... removed for brevity ...
return products;
}
});
嗯,我還是很想。好,夠公平的,我現在必須解決這個問題。 – 2015-03-19 06:29:46