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><[email protected]?></h1>
2 <ul>
3   <?for(var i=0; i<@favor.length; i++){?>
4     <li><?=i?>:<[email protected][i]?></li>
5   <?}?>
6 </ul>

XSS安全防范

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

1 {
2   "title": "<script>alert(0);</script>",
3 }
4 <h1><[email protected]?></h1>

最终编译的结果是:

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

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

<h1><[email protected]?></h1>

将会输出:

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

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

时间: 2024-10-24 10:29:17

requirej入门nodeTpl使用(三)的相关文章

visual studio 2015 搭建python开发环境,python入门到精通[三]

在上一篇博客Windows搭建python开发环境,python入门到精通[一]很多园友提到希望使用visual studio 2013/visual studio 2015 python做demo,这里略带一句,其实就"学习python"而言,比较建议使用pycharm,pycharm可以设置VS或者eclipse等多种IDE的编码,可以让绝大部分其他语言使用IDE的习惯者更容易上手.这一点兼容确实做的很好.不过既然这么多园友要求使用vs开发python的话,就介绍一下visual

WCF入门教程(三)属性标签

属性标签,成为定义协议的主要方式.先将最简单的标签进行简单介绍,以了解他们的功能以及使用规则. 服务协定标识,标识哪些接口是服务协定,哪些操作时服务协定的一部分,以及传输对象的定义.如果已经有所了解,请直接PASS. 1.ServiceContract(服务协定) 全名:System.ServiceModel.ServiceContractAttribute 功能:指示接口或类在应用程序中定义服务协定. 简单一句话:标识此接口是否是服务协定,是否需要公开为服务. 详细:使用接口(或类)上的 Se

Photoshop入门教程(三):图层

学习心得:图层可以说是Photoshop的核心,看似简单,但是对于图像的各种编辑都是基于图层.他就像一层透明的.没有厚度的玻璃纸,每张玻璃纸设置不同的效果,层层叠加,最后显现出绚烂的效果. 在进行图像处理工作时,最好不要破坏原片,不要直接在原片上进行编辑.因为当工作到后期时,可能发现之前的操作需要修改,但是操作步骤数太多,"历史记录"工具已经派不上用途了.这时,图层就成了拯救世界的英雄,一个简单的方法就是在开始修片工作前将原片复制一层作为备份图层再编辑.善于运用图层这个Photosho

【自己动手写神经网络】小白入门连载(三)--神经元的感知

[真实原创,转载务必注明出处] 上一个连载中我们已经了解了神经元模型和其工作方式.单个神经元就可以构成一个最简单的神经网络--感知机.在单层神经元感知机中,网络接收若干过输入,并通过输入函数.传输函数给出一个网络的输出.这个网络已经可以解决苹果和香蕉的分类问题.在本系列中,将具体介绍其内部原理. 首先,我们确定感知机的输入.在此,我们引入形状和颜色两个变量,苹果的形状为圆形记为1,颜色为红色记为1:香蕉的形状为弯形记为-1,颜色为黄色记为-1.则有输入p如表3.1所示. 表3.1 常用传输函数列

(译)Windsor入门教程---第三部分 编写第一个Installer

简介 在第二部分我们创建了控制器工厂.现在我们要把我们的控制器交给Windsor来管理. Installer Windsor有一个专门的类installer.cs,用来向容器注册组件.在你的应用程序中至少会有几个这样的installer类,所以要保持他们的代码整洁以及可见性.接下来在我们的应用程序中新建一个专门的文件夹"Installer"来存放这些类.我们首先要注册到容器中的就是控制器,所以我们先来新建一个ControllersInstaller.cs类. Controller in

快速入门git第三步

安装:一.在linux ubuntu 上安装git sudo apt-get install git配置:二.初次运行git的配置,为什么是初次,因为更新或升级都会沿用老的git的配置, 可以用相同的命令进行了配置的修改, git 提供了一个工具git config ,专门用来配置或读取相应的环境变量,不同的环境变量导致了git在各个环节的具体工作方式和行为,环境变量存放在三个地方:/ect/config: 系统中对所有的用户都普遍使用的配置-/config: 只是适用与当前用户的配置.git/

【Android的从零单排开发日记】之入门篇(三)——Android目录结构

本来的话,这一章想要介绍的是Android的系统架构,毕竟有了这些知识的储备,再去看实际的项目时才会更清楚地理解为什么要这样设计,同时在开发中遇到难题,也可以凭借着对Android的了解,尽快找出哪些模块和设计能够帮助解决该问题.但想了一下,这毕竟是入门篇,若没有实际项目开发经验的人看了之后肯定是一头雾水,所以就决定将其搁浅到大家熟悉Android之后再为大家介绍. 那么今天的主题是Android的目录结构,将系统架构比作人的骨骼架构的话,目录结构就像是人的各个器官,彼此功能各不相同,却能有序地

爬虫入门系列(三):用 requests 构建知乎 API

爬虫入门系列目录: 爬虫入门系列(一):快速理解HTTP协议 爬虫入门系列(二):优雅的HTTP库requests 爬虫入门系列(三):用 requests 构建知乎 API 在爬虫系列文章 优雅的HTTP库requests 中介绍了 requests 的使用方式,这一次我们用 requests 构建一个知乎 API,功能包括:私信发送.文章点赞.用户关注等,因为任何涉及用户操作的功能都需要登录后才操作,所以在阅读这篇文章前建议先了解Python模拟知乎登录.现在假设你已经知道如何用 reque

【知识整理】这可能是最好的RxJava 2.x 入门教程(三)

目录 一.前言 二.正题 7.distinct 8.Filter 9.buffer 10.timer 11.interval 12.doOnNext 13.skip 14.take 15.just 三.写在最后 正文 这可能是最好的RxJava 2.x入门教程系列专栏 文章链接: 这可能是最好的RxJava 2.x 入门教程(一) 这可能是最好的RxJava 2.x 入门教程(二) 这可能是最好的RxJava 2.x 入门教程(三) GitHub 代码同步更新:https://github.co