doT 模板一般是放在script脚本里面的,例如:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> <script type="text/javascript" src="../../doT.js"></script> <script type="text/javascript" src="http://hbjltv.com/static/js/jquery-1.11.1.js"></script> </head> <body> <script id="conditionstmpl"> {{ if(!it.name){ }} <div> 你还没有名字</div> {{ } else { }} <div>Oh, I love your name, {{=it.name}}!</div> {{ } }} </script> <hr/> <div id="condition"></div> <script type="text/javascript"> var dataEncode = {"name": "", "age": 31}; var interText = doT.template($("#conditionstmpl").text()); $("#condition").html(interText(dataEncode)); </script> </body> </html>
但是我不太喜欢放在script标签中,我喜欢把模板放在div中,如下:
<body> <div id="conditionstmpl"> {{? it.name }} <div>Oh, I love your name, {{=it.name}}!</div> {{?? !it.age == 0}} <div>Your age is {{=it.age}}</div> {{??}} You don't have age and still don't have a name? {{?}} </div> <hr/> <div id="condition"></div> <script type="text/javascript"> var dataEncode ={"name":"","age":0}; var interText = doT.template($("#conditionstmpl").html()); $("#condition").html(interText(dataEncode)); </script> </body>
但是下面的代码就出现了问题:
报错信息如下:
这是为什么呢?因为js在获取div的内容时,自动把div中的内容进行了转义:
< | < ; |
> | > ; |
即把小于号变成了< ; ,这不是我预期的.因为html把<转化成了< ;,所以doT 报错了.
解决方法:使用如下方法还原
/*** * Html解码获取Html实体<br> * '<'--> '<' * @param value * @returns {*|jQuery} */ function htmlDecode(value){ return $('<div/>').html(value).text(); }
处理模板的js:
var evalText = doT.template(htmlDecode($invoiceListDot.html())); $invoiceListDiv.html(evalText(invoiceInfoDtos));
参考:http://blog.csdn.net/hw1287789687/article/details/46671437
相关推荐
doT.js 包含为浏览器和Node.js 准备的 JavaScript 模板引擎。 标签:doTjs
dotjs 是一个谷歌扩展,它可根据文件名 ~/.js 来执行 JavaScript 文件。例如,如果你想访问 http://www.google.com/ ,dotjs 将会执行 ~/.js/google.com.js。 而这将会使你很方便地使用 JavaScript 去改进你所喜爱的...
dotjs-loader 用于webpack的模块加载器 用法 安装 使用npm安装。 doT是一个对等依赖项,应单独安装: npm install --save-dev dot dotjs-loader 配置 在webpack.config.js配置加载器: module: { loaders : [ {...
NULL 博文链接:https://0qingfeideyi0.iteye.com/blog/2274741
de4dot反编译de4dot反编译de4dot反编译de4dot反编译de4dot反编译de4dot反编译de4dot反编译de4dot反编译de4dot反编译de4dot反编译de4dot反编译de4dot反编译de4dot反编译de4dot反编译de4dot反编译de4dot反编译de4dot反...
Dot2dot
不熟悉DOT的遍历或者说看不习惯dot官方遍历的,可以看下类似for或foreach的方法,相同效果
外国大神的De4Dot合集 de4dotfixedbyIvancitoOz de4dotModByBS de4dotModbyTheProxy de4dotReactorv4_9ModbyPC_RET de4dot_2 de4dot_2_0_3 de4dot_3 de4dot_3_1_0 de4dot_3_1_4 de4dot_4_9_PC_RET de4dot_5_8_...
这是matlab的GUI的开发时常见错误集合,很不错,里面给很可能就有你需要的知识。
doT.js的特点是体积小,速度快,并且不依赖其他插件。 官网下载:http://olado.github.io
用cinclude2dot.pl及graphviz来绘制头文件包含结构图。 包括cinclude2dot.pl,提取的dot.exe,提取的perl.exe及一个示例。 注意,dot.exe,perl.exe由于我本机是安装的官方安装包,没有测试提取的能否正常运行。 亲测...
de4dot is an open source (GPLv3) .NET deobfuscator and unpacker written in C#. It will try its best to restore a packed and obfuscated assembly to almost the original assembly. Most of the obfuscation...
#gulp-dotjs-packer 用 gulp 编译 (gulpjs.com) 信息 包裹 gulp-dotjs-packer 描述 Gulp 的 doTjs 编译器 吞咽版 3.x 用法 var gulp = require ( "gulp" ) ; var dotPacker = require ( "gulp-dotjs-packer" ) ; ...
介绍华为dot1x常用命令使用,更多参数请查看华为网站
gprof2dot-将分析输出为 dot 图谱文件
DOT语言中文指导的教程,简单实用,能够快速掌握DOT语言
dot+NET数据库开发技术 dot+NET数据库开发技术
echo dot控制指南,适合小白使用: 可以顺畅访问 Amazon 服务的 Wi-Fi 网络。 一台 Echo 设备,包括 Echo、Echo Tap、Echo Dot 或者 Echo Show Amazon 账号 智能设备 您也可以前往 App Store、各大 Android...
De4Dot是一个很强的.Net程序脱壳,反混淆工具。它可以帮助开发者快速地反混淆.NET程序集,使得程序代码更容易读懂。支持对于以下工具混淆过的代码的清理:如 Xenocode、.NET Reactor、MaxtoCode、Eazfuscator.NET、...
gprof2dot工具,fedora12版本