【发布时间】:2014-03-20 03:59:10
【问题描述】:
在 Meteor 应用程序中,将包含 1000 条记录的大型集合发布到客户端。然而,加载{{loginButtons} 的用户将经历 3-5 秒的延迟,因为它仅在所有大型集合加载后才完全呈现。
{{ loginButtons }} 渲染的 div #login-buttons 似乎在页面加载时立即渲染,但 div #login-dropdown-list 需要一些时间才能开始渲染。 #login-dropodown-list template p>
该站点正在使用带有 Iron Router 的 Meteor 0.7.0.1。
更新
这是accounts-ui-bootstrap-3 下拉菜单的模板代码,在页面的其余部分呈现后需要几秒钟才能加载。它只是 Meteor 包中的基本模板,没什么特别的。
<ul class="nav navbar-nav navbar-right">
{{ loginButtons }}
</ul>
我曾经认为问题是由于这个下拉菜单使用了Meteor.users 集合,所以这是我的快速渲染路线。
FastRender.onAllRoutes(function(urlPath) {
this.subscribe(Meteor.users);
this.subscribe(users);
})
这似乎无助于解决问题。我还发现当下拉菜单仍未呈现时,Meteor.userId() 已经定义。下拉菜单仅在红色箭头所指的时间点出现/呈现,这是所有集合已加载的点。
此外,{{ loginButtons }} 渲染的 div #login-buttons 会在页面加载时立即渲染,但 div #login-dropdown-list 需要一些时间才能开始渲染。
也许这就是accounts-ui-bootstrap-3 处理渲染的方式?
【问题讨论】:
标签: javascript meteor