Мое приложение состоит из двух страниц: домашней страницы и панели инструментов. На главной странице я хочу показать «Вход» (верхняя навигация) и «Регистрация» (основная часть). Если пользователь вошел в систему, покажите панель инструментов. На панели инструментов я хочу показать вариант выхода из системы. При выходе показать домашнюю страницу.
Проблема. Когда я пытаюсь обновить шаблон панели мониторинга, весь контент попадает прямо на панель навигации. Что не менее сбивает с толку, так это то, что основное содержимое страницы домашней страницы все еще отображается на странице панели инструментов. Я явно что-то упускаю из виду, но я не могу сказать, ошибка ли это в моем коде или в моем понимании шаблонов и маршрутов.
Используются: Iron-Router, Accounts-UI и Accounts-password, Twbs:bootstrap.
Ниже вставлены три основных шаблона Master, Homepage и Dashboard.
Заранее благодарим за любую помощь, которую вы можете оказать!
Основной шаблон с логикой входа в систему
<template name="MasterLayout">
{{> yield}}
<nav class="navbar navbar-inverse navbar-fixed-top">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">THE BRAND</a>
</div>
<div id="navbar" class="navbar-collapse collapse">
{{#if currentUser}}
{{> Dashboard}}
{{else}}
{{> Login}}
{{/if}}
</div><!--/.navbar-collapse -->
</div>
</nav>
</template>
Главная страница содержит основной контент
<template name="Homepage">
<div class="jumbotron">
<div class="container">
<h1>Get it now..</h1>
<p>Donec id elit</p>
{{#if currentUser}}
hello
{{else}}
{{> Register}}
{{/if}}
</div>
</div>
</template>
Панель управления содержит текст-заполнитель
<template name="Dashboard">
<ul class="nav navbar-nav">
<li class="navbar-text">Navigation Placeholder</li>
<li><a href="#" class="logout">Logout</a></li>
</ul>
</template>
Я создал следующие контроллеры;
Главная страница
HomepageController = RouteController.extend({
layoutTemplate: 'MasterLayout',
subscriptions: function() {
},
action: function() {
this.render('Homepage');
}
});
Панель управления
DashboardController = RouteController.extend({
layoutTemplate: 'Dashboard',
subscriptions: function () {
},
data: function () {
},
action: function () {
this.render('Dashboard', { /* data: {} */});
}
});