排除 Meteor 中某些页面上的导航栏
Excluding the nav bar on certain pages in Meteor
我正在尝试创建一个 meteor 应用程序,其中登录页面只显示我的欢迎文本和通过 Google 登录。在我的其他页面上,我有一个导航栏。如何从此登录页面中专门排除导航栏?跟iron:router有关系吗?我调用了某种特殊方法吗?
您可以像这样制作 2 个布局。
<template name="layout">
<!-- Regular Stuff for the other pages You can place the navbar here -->
{{> yield}}
</template>
<template name="layoutLogin">
<!-- Just Login Pages -->
{{> yield}}
</template
现在 Javascript 代码。
Router.map(function () {
this.route('home', {
path: '/',
layoutTemplate: 'layout'}
);
});
//Here we tell to render the template login, on the path /login and use the content on the layoutLogin
Router.map(function () {
this.route('login', {
path: '/login',
layoutTemplate: 'layoutLogin'}
);
});
告诉我是否有效。
您可以只为导航栏创建模板并将其包含在需要的地方
<template name="top_navbar">
<!--your navbar code -->
</template>
<template name="mypage">
{{> top_navbar}}
<!-- rest of code for my page -->
</template>
<template name="mylogin">
<!-- rest of code for login page -->
</template>
我设置了两个模板,然后使用了以下有效的模板!主要布局是带有导航栏的布局,欢迎布局是没有导航栏的布局。
Router.configure({
layoutTemplate: 'primaryLayout'
});
Router.route('/', {layoutTemplate: 'welcomeLayout'});
谢谢!
您的问题有更简单的解决方案,只需将您希望排除导航和其他布局的特定页面的 layoutTemplate 设置为 null。在这种情况下,我们将排除登录页面的导航:
Router.route('login', {
layoutTemplate: '' //the default template is set to null using ''
});
我正在尝试创建一个 meteor 应用程序,其中登录页面只显示我的欢迎文本和通过 Google 登录。在我的其他页面上,我有一个导航栏。如何从此登录页面中专门排除导航栏?跟iron:router有关系吗?我调用了某种特殊方法吗?
您可以像这样制作 2 个布局。
<template name="layout">
<!-- Regular Stuff for the other pages You can place the navbar here -->
{{> yield}}
</template>
<template name="layoutLogin">
<!-- Just Login Pages -->
{{> yield}}
</template
现在 Javascript 代码。
Router.map(function () {
this.route('home', {
path: '/',
layoutTemplate: 'layout'}
);
});
//Here we tell to render the template login, on the path /login and use the content on the layoutLogin
Router.map(function () {
this.route('login', {
path: '/login',
layoutTemplate: 'layoutLogin'}
);
});
告诉我是否有效。
您可以只为导航栏创建模板并将其包含在需要的地方
<template name="top_navbar">
<!--your navbar code -->
</template>
<template name="mypage">
{{> top_navbar}}
<!-- rest of code for my page -->
</template>
<template name="mylogin">
<!-- rest of code for login page -->
</template>
我设置了两个模板,然后使用了以下有效的模板!主要布局是带有导航栏的布局,欢迎布局是没有导航栏的布局。
Router.configure({
layoutTemplate: 'primaryLayout'
});
Router.route('/', {layoutTemplate: 'welcomeLayout'});
谢谢!
您的问题有更简单的解决方案,只需将您希望排除导航和其他布局的特定页面的 layoutTemplate 设置为 null。在这种情况下,我们将排除登录页面的导航:
Router.route('login', {
layoutTemplate: '' //the default template is set to null using ''
});