此Meteor客户端代码会导致页面上的headerLabel
首先闪烁到“请登录”,然后在现有有效帐户的情况下闪烁到“从菜单中选择项目”。它是如何修复的,因此它不会显示“请登录”,因为它们已经是用户登录了?感谢
修改
正如拉米尔的回答所建议的那样。下面修改过的代码仍然不起作用,我仍然得到“请登录”的闪烁。
Template.header.helpers({
headerLabel: () => {
const user = Meteor.user();
if (user) {
return user.profile.header || Session.get('header') || 'Select item from menu';
} else {
return 'Please login';
}
}
});
<template name="header">
<header>
<h1 class="main-menu">
<button class="mainMenu" type="button">☰</button>
</h1>
{{#if currentUser}}
<p class="header">
{{headerLabel}}
</p>
{{else}}
<p class="header">
Please login
</p>
{{/if}}
<h1>
<button class="subMenu" type="button">⋮</button>
</h1>
</header>
</template>
答案 0 :(得分:0)
accounts
包中有内置{{currentUser}}
帮助器。
您可以使用它来检查用户是否已登录。
<template name="header">
<header>
{{#if currentUser}}
<p>
Select item from menu
</p>
{{else}}
<p>
Please login
</p>
{{/if}}
</header>
</template>