关于写页面,由于需求,需要动态显示页面,我看了书的ejs模板的写法,有点类似jsp和.net的写法,直接嵌在html中,编译后能解析。但我根据书上所写的,运行则显示页面有错,就是在那些<% if %>的地方,不解,是我少写了什么么?
应该是少写了花括号:
<% if (1 + 1 === 2) { %>
对的
<% } %>
先谢谢你,如果if条件里的一个值是后台传来的,比如说,test!=‘hello’,这个test值是后台传来的,我要在用它来进行判断动态生成页面,该如何写了?
@384324085 需要手动把数据传递给render函数,才能在模版中访问
res.render('page',{test:'hello'});
@hylin 先谢谢你,传递给render函数,这个我知道,在页面是通过<%= title %>进行访问的,但是如果你这么写<% if(<%= title%>!=null ) {%>的话,是报错的,那正确的访问方式有哪些
@hylin 上面的title写错,是test
@384324085 直接test 不需要<%= test %>
@jaysky 非常感谢
我用res.render(‘chat.ejs’,{name:name});传数据,在ejs文件中怎么接收到的数据是null。
不需要加后缀 res.render(‘chat’,{name:name}); 这样看看
@hexie 结果一样
@hexie 在js文件中用res.render(‘chat’,{name:name}); 传值到chat.ejs文件中,在chat.ejs文件中这条语句<title><%= name %></title>可以显示。但是想用var username = name;获得name的值,却是null。若用var username = <%= name %>,当name是数字是能获得,但当name是字符串是还是不能获得。不理解什么原理。
@danfengchaoxi 我没试过,我的想法是,既然传到页面,你可以用js抓。
@danfengchaoxi 注意加引号啊