按钮单击时页面导航时的Meteor.JS,页面加载第二页,再次显示上一页

时间:2015-01-11 17:37:13

标签: meteor meteor-accounts

LoginRegister.html代码
          1.主页           2.所有模板都运行正常。我认为html文件没有问题           3.Problem在router.js文件中              
                                                       

         <!--Home Template !-->
         <template name="home">
         {{> login}}
         </template>

         <!--Layout Template !-->
         <template name="layout"> 
             <header>
               {{> topheader }}
             </header>
             {{> yield}}  
         </template>

         <!--TopHeader Template !-->
         <template name="topheader">  
                <h1>Welcome</h1>        
         </template>

         <!--Login Template !-->
         <template name="login">  
           <form class="form-horizontal">
               <button type="submit" class="btn btn-default signin" id="signInBtn ">Sign in</button>         
               <button type="submit" class="btn btn-default signup" id="signUpBtn ">Sign Up</button>        
          </form>
         </template>

         <!--SignUP Template !-->
         <template name="signup">   
                <h1>SIGNUP <small>Page</small></h1>     
         </template>


Router.js 的 这可以正常工作,当单击SignUp按钮时,它会闪烁sigup模板,但会再次使用登录页面重新加载主页模板
            Router.configure({ layoutTemplate: 'layout'
}); Router.map(function() { this.route('home',{path: '/'}); this.route('signup',{path: '/signup'}); })


loginRegister.js 的 包含两个按钮单击事件的Java脚本文件

          if (Meteor.isClient) {     
           Template.login.events({
                'click .signin': function(evt,tmpl){

                        alert("Sign in button is clicked");
                       console.log("Registration Form submitted.");

                 },
                 'click .signup':function(evt,tmpl)
                 {
                    Router.go('signup', {name: '/signup'});

                 }
           });   
       }

请帮助我卡住了,我是Meteor的新手,所以无法弄清楚,搜索没有产生好的结果

1 个答案:

答案 0 :(得分:3)

你需要阻止你的按钮提交,所以在你的注册事件处理程序代码中尝试这样的事情:

'click .signup':function(evt,tmpl)
{
  evt.preventDefault(); // add this to prevent the button from submitting
  Router.go('signup', {name: '/signup'});
}