Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/421.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在Meteor中发送到主页之前创建登录/注册页面?_Javascript_Html_Meteor_User Accounts_Atmosphere.js - Fatal编程技术网

Javascript 在Meteor中发送到主页之前创建登录/注册页面?

Javascript 在Meteor中发送到主页之前创建登录/注册页面?,javascript,html,meteor,user-accounts,atmosphere.js,Javascript,Html,Meteor,User Accounts,Atmosphere.js,我有一个全局路由,它使用layout.html来指定header.html。 我想知道如何: 我有一个登录/注册的主登录页,格式正确,没有标题。我正在使用Atmosphere的UserAccounts,但格式不同,不知道为什么。此外,无法删除layout.js中的标题 2登录/登录后,应转到主页面 有人能告诉我怎么做吗 Router.configure({ layoutTemplate: 'layout', //This is where header is specified gl

我有一个全局路由,它使用layout.html来指定header.html。 我想知道如何:

我有一个登录/注册的主登录页,格式正确,没有标题。我正在使用Atmosphere的UserAccounts,但格式不同,不知道为什么。此外,无法删除layout.js中的标题

2登录/登录后,应转到主页面

有人能告诉我怎么做吗

Router.configure({
      layoutTemplate: 'layout', //This is where header is specified globally
      waitOn: function() { 
        return [Meteor.subscribe('notifications')]
      }
    });

Router.route('/', {
  name: 'auth'
}); //added this new line

Router.route('/posts', {
  name: 'home',
  controller: NewPostsController
});

var requireLogin = function() {
  if (! Meteor.user()) {
    if (Meteor.loggingIn()) {
      this.render(this.loadingTemplate);
    } else {
      this.render('accessDenied');
    }
  } else {
    this.next();
  }
}

Router.onBeforeAction('dataNotFound', {only: 'postPage'});
Router.onBeforeAction(requireLogin, {only: 'postSubmit'});
这是全局定义的layout.html

根据@Chase的建议进行更新。 -它在路由上起作用,头也不见了。 -但格式与网站不同

下面是我所看到的,而它应该是这样的

您可以使用不同的设置创建两个不同的布局模板

Javascript

HTML


有了它,您将拥有不同的布局,以不同的路线。

您可以使用不同的设置创建两个不同的布局模板

Javascript

HTML


使用此设置,您将拥有不同的布局,以不同的路线。

使用此设置,您无需为每个路线设置带有标题的布局

用户帐户包有一个Iron路由器插件,以确保用户在我使用的时候登录。我还配置了用户帐户包提供的路由,以便可以直接路由到用户帐户注册页面

Javascript

HTML


使用此设置,您无需为每条管线设置带有标题的布局

用户帐户包有一个Iron路由器插件,以确保用户在我使用的时候登录。我还配置了用户帐户包提供的路由,以便可以直接路由到用户帐户注册页面

Javascript

HTML


嗨Ethaan,我只是想澄清一下。您编写的身份验证路由不是使用与布局模板相同的adminLayout吗?这只是一个示例,让我来修复它。您有一个路由器。配置{layoutTemplate:'autht',//layout With header}?抱歉,忽略我的上一条消息。布局和名称字段都必须用“输入”或填充。请继续回答。听起来会有用的!但这是否意味着如果我想让标题出现……我必须在每个应该出现标题的路由中填充布局:“adminLayout_with_header”?是的,如果您使用的是屈服帮助器,并且想要使用不同的主布局,您应该指定哪个路由将使用wich layoutHi Ethaan,只是为了澄清一下。您编写的身份验证路由不是使用与布局模板相同的adminLayout吗?这只是一个示例,让我来修复它。您有一个路由器。配置{layoutTemplate:'autht',//layout With header}?抱歉,忽略我的上一条消息。布局和名称字段都必须用“输入”或填充。请继续回答。听起来会有用的!但这是否意味着如果我希望标题出现……我必须在每个应该出现标题的路由中填充布局:“adminLayout_with_header”?是的,如果您使用的是屈服帮助器,并且希望使用不同的主布局,则应指定哪个路由将使用wich LayoutTanks@Chase。我似乎无法达到网站上显示的格式。你知道为什么吗?我附上了上面的图片。你用的是什么UserAccounts风格的软件包?我用的是语义用户界面。我试过用styleless,m和p…结果都一样。我试着删除我所有的CSS…也不起作用。嗯。。。如果不深入你的代码,我不确定问题会是什么。您最好将此问题作为单独的问题发布。完成了。链接:谢谢@Chase。我似乎无法达到网站上显示的格式。你知道为什么吗?我附上了上面的图片。你用的是什么UserAccounts风格的软件包?我用的是语义用户界面。我试过用styleless,m和p…结果都一样。我试着删除我所有的CSS…也不起作用。嗯。。。如果不深入你的代码,我不确定问题会是什么。您最好将此问题作为单独的问题发布。完成了。链接此处:
<template name="layout">
  <div class="container">
    {{> header}}
    {{> errors}}

    <div id="main">
      {{> yield}}
    </div>
  </div>
</template>
Router.configure({
      layoutTemplate: 'adminLayout', //layout without header
   });

Router.route('/', { //main page, different layout
     layout:layout,
     name: 'auth'
  });
<template name="adminLayout">
  <div class="container">
    {{> errors}}
    <div id="main">
      {{> yield}}
    </div>
  </div>
</template>
Router.configure({
    layoutTemplate: 'layout' //main layout with header
});

//Iron router plugin to ensure user is signed in
AccountsTemplates.configureRoute('ensureSignedIn', {
    template: 'atTemplate', //template shown if user is not signed in
    layoutTemplate: 'atLayout' //template for login, registration, etc
});

//Don't require user to be logged in for these routes
Router.plugin('ensureSignedIn', {
    except: ['login', 'register']
});

//Configure route for login
AccountsTemplates.configureRoute('signIn', {
    name: 'login',
    path: '/login',
    template: 'atTemplate',
    layoutTemplate: 'atLayout',
    redirect: '/'
});

//Configure route for registration
AccountsTemplates.configureRoute('signUp', {
    name: 'register',
    path: '/register',
    template: 'atTemplate',
    layoutTemplate: 'atLayout',
    redirect: '/'
});

//Home page to show once logged in
Router.route('/', {
    name: 'home',
    action: function(){
        this.render('home');
    }
});
<template name="layout">
    <div class="container">
        {{> header}}
        {{> errors}}

        <div id="main">
            {{> yield}}
        </div>
    </div>
</template>

<template name="atLayout">
    <div class="at-container">
        {{> yield}}
    </div>
</template>

<template name="atTemplate">
    {{> atForm}}
</template>