У меня есть несколько кодов, которые я хочу запускать только при наличии noUser
, и несколько при наличии currentUser
.
Все они находятся внутри шаблона навигации. Вот так...
{{#if currentUser}}
<li class="nav"><a href="{{pathFor 'create'}}">Post</a>
</li>
<li class="nav"><a>Ola, {{thisUser}}!</a>
</li>
<li class="nav"><a href="#" id="logout">Log Out</a>
</li>
{{/if}}
{{#if noUser}}
<li class="nav"><a href="{{pathFor 'signup'}}">Sign Up</a>
</li>
<li class="nav"><a href="{{pathFor 'login'}}">Login</a>
</li>
{{/if}}
Итак, проблема в том, что когда есть currentUser
(т. е. я вошел в систему) и я обновляю страницу, сначала отображается код внутри блока {{#if noUser}}
, а затем блок {{#if currentUser}}
, в то время как блок {{#if noUser}}
предназначен только для отображения вверх, когда нет пользователя.
Вот вспомогательный код для шаблона..
Template.navigation.helpers({
thisUser: function () {
return Meteor.user().username;
},
noUser: function () {
var user = Meteor.user();
if (!user) {
return true;
};
}
});
Не знаю, что я делаю неправильно здесь. :(
Помогите пожалуйста.