【发布时间】:2015-10-28 07:09:52
【问题描述】:
我有这个主要布局
<!-- Wrapper-->
<div id="wrapper">
{{#if currentUser }}
<!-- Page wrapper -->
{{> topNavbar }}
<!-- Navigation -->
{{> navigation }}
<!-- Page wraper -->
<div id="page-wrapper" class="gray-bg">
<!-- Main view -->
{{> yield}}
</div>
<!-- End page wrapper-->
<!--{{> rightSidebar }}-->
{{else}}
{{> loginPage }}
{{/if}}
</div>
<!-- End wrapper-->
如果用户未登录,则显示登录页面的明显目的。一个意想不到的效果是,当用户在某些页面/路线之间导航时,它偶尔会显示登录页面半秒或两秒。
我确信有一种方法可以通过订阅来做到这一点,但只是还没有在 Meteor 中获得它们...想知道是否有一个忍者会看到这个并嘲笑它可以传递一个快速提示.
谢谢!
我见过How to get rid of Meteor template flickers,但我希望有一种方法可以在不使用路由的情况下解决这个问题——我可以将代码添加到主模板 javascript 文件中吗?
【问题讨论】:
-
我猜它在闪烁,因为没有可用的
Meteor.user()。如果您使用meteorhacks 的包fast-render它可以立即使用并且应该停止闪烁。如果没有快速渲染,您还可以侦听检查用户是否不是loggingIn,并且只有在您拥有数据后才能检查是否有用户。 -
也许您可以在客户端放置一个waitOn并使用
return Meteor.user();订阅?然后你也可以配置路由器在等待订阅数据时显示加载模板
标签: meteor meteor-blaze meteor-accounts