加载使用meteor.js登录的页面

时间:2013-06-02 06:51:36

标签: meteor

我在Meteor.js中使用内置帐户功能。当用户通过cookie登录时,Meteor似乎首先加载页面的“已注销”版本,然后自动登录用户并重新加载页面以获取“登录”版本。

您可以在示例方应用中看到此行为:http://vdawg-parties.meteor.com/ 注册,然后重新加载页面。它将加载登出的页面,然后2-3秒后将切换到登录版本。

是否可以在页面加载时加载登录版本?加载页面然后立即切换到另一页是很困惑的。

1 个答案:

答案 0 :(得分:1)

流星是建立在“线上数据”类型结构之上的。这意味着,最初,当您的项目加载时,服务器和浏览器之间没有发送实际数据。因此,无需等待数据下载就无法确定用户是否以流行方式登录。

这是meteor在用户登录时在localStorage中存储登录数据的原因。

加载屏幕

当流星从服务器下载/同步本地集合时,最好有一个加载屏幕,等待用户的登录完成:

客户端HTML

<template name="YourLoggedInSection">
    {{#if isLoaded}}
        ..your logged in section/or place to log in
    {{else}}
        <h1>Loading</h1>
    {{/if}}
</template>

客户端js

Template.YourLoggedInSection.isLoaded = function() {
    return Accounts.loginServicesConfigured();
}