zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    Vue-CLI
    Vue生命周期函数
    构建之法阅读笔记之四
    大二下个人总结
    个人加分项
    对老师的建议
    学习进度条 第九十一-第一百零五天 vue+uniapp app开发学习笔记
    第15周作业
    二进制安装mysql 5.7.31 启动报错/etc/init.d/mysqld: line 239: my_print_defaults: command not found
    获取最小数字
  • 原文地址:https://www.cnblogs.com/congxueda/p/5950386.html
Copyright © 2011-2022 走看看