[英]Load page logged in with meteor.js
我正在使用Meteor.js的內置Accounts功能。 當用戶通過cookie登錄時,Meteor似乎首先加載頁面的“已注銷”版本,然后自動將用戶登錄並重新加載頁面以獲取“已登錄”版本。
您可以在示例參與方應用程序中看到此行為: http : //vdawg-parties.meteor.com/注冊,然后重新加載頁面。 它將加載已注銷的頁面,然后在2-3秒后切換到已登錄的版本。
是否可以在頁面加載時加載登錄版本? 加載頁面然后立即切換到另一個頁面會造成混亂。
流星是基於“在線數據”類型的結構構建的。 這意味着最初,當您的項目加載時,服務器和瀏覽器之間沒有發送任何實際數據。 因此,無法在不等待數據下載的情況下確定用戶是否以流星般的方式登錄。
這是用戶登錄時流星將登錄數據存儲在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();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.