首页 > 代码库 > requirej入门nodeTpl使用(三)

requirej入门nodeTpl使用(三)

基本语法

HTML部分

在模板中的 HTML 部分,使用定界符“<?”和“?>”作为语法的开始和结束。

在定界符内,可以书写任意JavaScript语句,如:

1 <?for(var i=0; i<10; i++){?>2   <p>hello, world</p>3 <?}?>

 

使用等于号“=”来输出对应的值:

1 <?for(var i=0; i<10; i++){?>2   <p>hello, world, 第 <?=i?> 次</p>3 <?}?>

 

直接使用“@属性名”来表示传入的对象对应的属性。

假如传入的对象为:

1 {2   "title": "我是传入的标题",3   "favor": ["足球", "篮球", "乒乓球", "琉璃球"]4 }

在模板中,可以通过 @title@favor 来分别引用传入的 titlefavor 值:

1 <h1><?=@title?></h1>2 <ul>3   <?for(var i=0; i<@favor.length; i++){?>4     <li><?=i?>:<?=@favor[i]?></li>5   <?}?>6 </ul>

 

XSS安全防范

=” 默认会经过 XSS 安全过滤,以确保输出到页面中的内容是安全的,例如:

1 {2   "title": "<script>alert(0);</script>",3 }4 <h1><?=@title?></h1>

最终编译的结果是:

<h1>&lt;script&gt;alert(0);&lt;/script&gt;</h1>

如果你不想过滤 XSS,你可以使用 “==” 来代替 “=”,如:

<h1><?==@title?></h1>

将会输出:

<h1><script>alert(0);</script></h1>

 

文件来源:http://www.nodetpl.com/cn/grammar.html

 

requirej入门nodeTpl使用(三)