首页 > 解决方案 > 车把只执行 else 语句

问题描述

我正在制作简单的注册表单,并试图传达一切顺利的信息。进入页面时,我创建了一个变量success,默认情况下设置为false。

 router.get('/register',function(req,res,next){
   res.render('register',{title: "Registration", success: false, errors: req.session.errors});
   req.session.errors = null;
   req.session.success = null;
 });

稍后在发布路线中,我检查错误,并根据数量重定向回来

if(errors)
{
   req.session.success = false;
   req.session.errors = errors;
   res.redirect('/register');
}
else
{
   req.session.success = true;
   res.redirect('/register');
}
});

当我想根据成功值显示文本时,问题就开始了。下面,当表单出现错误时,else 语句确实有效,但尽管有真正的价值,但永远不会显示“if”。

<p> Registration </p>
    {{#if success}}
          <div class="okbox"> Now you can go and log in!</div>
    {{else}}
         {{#each errors}}
            <div class="errorbox">{{this.msg}}</div>
         {{/each}}   
    {{/if}}

标签: node.jshandlebars.jshandlebarshelper

解决方案


推荐阅读