在使用express-art-template时出现的报错。
错误原因:在模板中使用了不存在的变量
比如
<input type="email" class="form-control" placeholder="请输入邮箱地址" name="email" value="{{ user.email}}" />
我的input value中需要渲染user变量里面的email的值,可实际上在render函数里我并没有传递user变量,也就是这样
res.render('admin/user-edit', {
msg: message
});
导致报错。
解决办法:1.传递所需变量过去。2.在渲染之前使用短路操作先判断user变量是否为空
<input type="email" class="form-control" placeholder="请输入邮箱地址" name="email" value="{{user && user.email}}" />
问题解决。