改博客时候遇到的问题:ejs互相传参数,怎么得知参数有没有被传呢?
问题描述
node代码里存在两种情况:1
2res.render('home/content', { detail:detail,list:list } );
res.render('home/content', { detail:detail } );
EJS:1
2
3<% if(list==undefined){ %>
<span>暂时没有内容</span>
<% } %>
当node里不提供list的时候,页面判断list是否存在的时候报错1
2
3
4
5
6
7
8ReferenceError: D:\demo\views\home\content.ejs:10
8| </div>
9| </div>
>> 10| <%
11| if(list==undefined){
12|
13| }
list is not defined
这时候怎么办?
难道必须在node里添加一个list为空的变量过来吗?还是有在EJS里有其他验证方法?
解决方法
1 | if(locals.list==undefined){ |
用到EJS的locals就可以防止报错啦~