繁体   English   中英

在Meteor中呈现Router.go()页面

[英]Router.go( ) page render in Meteor

当我按以下触发命中/login路由时,将呈现正确的路由,但页面顶部以我的template而不是我的layoutTemplate 我必须向上滚动才能看到在layoutTemplate配置的layoutTemplate

   if(! Meteor.userId()){
        Session.set('single_post_not_logged_in', Session.get('post_id'));
        Router.go('/login');
    }

这是被触发的路线:

Router.route('login', {
    path: '/login',
    layoutTemplate: 'loginLayoutTemplate',
    template: 'login_template',
    onBeforeAction: function(){
        if(Meteor.loggingIn()){
            var post_visited = Session.get('single_post_not_logged_in');
            console.log(post_visited);
            if(post_visited != undefined){
                Router.go('/post/' + post_visited);
            }

        }
        this.next();
    }
});

最后,这是路线离开的布局模板( layoutTemplate )和新的布局模板( loginLayoutTemplate

<body>
    {{renderPage}}
</body>

<template name = 'layoutTemplate'>
    {{> loginButtons}}
    <a id = 'home_button' href="{{pathFor 'home'}}"><h1 id='layout_header'>snippetExchange</h1></a>
    <div id='layout_header_row_2'>
        <h2 id='layout_by_line'>valuable answers</h2> 
        <a id = 'new_post_button' href="{{pathFor 'new_post'}}">new post</a>
    </div>
    {{> yield}}
</template>

<template name = 'loginLayoutTemplate'>
    <a id = 'home_button' href="{{pathFor 'home'}}"><h1 id='layout_header'>snippetExchange</h1></a>
    <div id=''>
        <h2 id='layout_by_line'>valuable answers</h2> 
    </div>
    {{> yield}}
</template>

<template name = 'login_template'>
    <h3>please login or create an account</h3>
    {{> loginButtons}}
</template>

尝试:

Template.login_template.onRendered(function(){
  window.scrollTo(0, 0);
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM