我最近一直在与Meteor合作,并遇到铁路由器的问题。 我使用d3.js显示来自MongoDb的数据。我已经设置了发布订阅。我使用了waitOn和action并尝试了onBefore而没有任何成功。 这是我的代码:
Router.map(function(){
this.route('consoleTemplate',{
path: '/',
template: 'consoleTemplate',
waitOn: function(){
return Meteor.subscribe('theOrganizations',terms);
},
action: function(){
this.render('consoleTemplate');
}
});
});
Router.configure({
layoutTemplate: 'layout',
loadingTemplate: 'myLoading'
})
Router.onBeforeAction('loading');
consoleTemplate:
<template name = "consoleTemplate">
<h1>Admin Console</h1>
<div class = "ui grid">
<div class = "column">
{{> table1}}
</div>
</div>
<h1> Dashboard Analytics</h1>
{{> graphContainer}}
</template>
其中graphContainer和table1是这里的两个子模板。
我使用onRendered()和autoRun()在consoleTemplate中使用d3渲染图形。我得到错误:'Tracker afterFlush函数的异常:无法使用undefined的ready属性'。我希望在所有数据可用后呈现模板。
有人可以就如何解决这个问题提出建议吗?非常感谢。