博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
javascript模板系统 ejs v9
阅读量:7105 次
发布时间:2019-06-28

本文共 1508 字,大约阅读时间需要 5 分钟。

我的模板系统升一下级, 继续在新公司里面用。 现在几在互联网公司没有不用javascript模板了, 什么TX, 百度, 新浪, 360什么的, 最后瀑布流的流行, 里面又有许多用到模板。

本版本就是改回v6的形态,后端数据还是带@前端才方便查看与调试。昨天也与一TX前端工程师讨论过这个必要性。取得模板中的需要填写的变量,再与后端传过来的JSON进行比较,尽早进行数据验证。这种技术,可以看一看PHP的变量命名就知了,带是带$前缀。

在之前的版本中,如果输出语句带分号或逗号是会报错的

因为内部生成的字符串是这个样子的:

__views(data.tr.name;)

为了防止用户顺手把个逗号或分号上去,本版本自动帮你处理了.

rlastSemi = /[,;]\s*$/// 略  case "="://处理后台返回的变量(输出到页面的);                            logic = els[0].substring(1);                            if(logic.indexOf("@")!==-1){                                temp.push( startOfHTML, logic.replace(rAt,"$1data.").replace(rlastSemi,''), endOfHTML );                            }else{                                temp.push( startOfHTML, logic.replace(rlastSemi,''), endOfHTML );                            }                            break;
例子

下面是一个模板,放置于浏览器会忽略解析JS代码的script标签之内, 注意trs与href前面都带有@标识符。

  

这是它的JS代码:

$.require("ready,more/ejs,node", function(){                var trs = [                    {name:"隐形杀手",age:29,sex:"男"},                    {name:"索拉",age:22,sex:"男"},                    {name:"fesyo",age:23,sex:"女"},                    {name:"恋妖壶",age:18,sex:"男"},                    {name:"竜崎",age:25,sex:"男"},                    {name:"你不懂的",age:30,sex:"女"}                ]                var html = $.ejs("table_tmpl",{                    trs: trs,                    href: "http://images.cnblogs.com/cnblogs_com/rubylouvre/202906/o_type4.jpg"                });                $("#table_tc").html(html)            });

相关源码可见。

转载地址:http://xcvhl.baihongyu.com/

你可能感兴趣的文章
SpringMVC springMVC的拦截器
查看>>
Zabbix的安装部署
查看>>
php把二维数组转化为字符串
查看>>
目录与文件属性——《Unix/Linux编程实践教程》读书笔记
查看>>
5年麦肯锡工作经验的GG总结的Word骨灰级操作大全
查看>>
Xcode下载
查看>>
python operator计算模块
查看>>
SVN版本冲突解决详解
查看>>
nginx rewrite规则
查看>>
浅谈javascript:void(0)的含义
查看>>
IOS学习动画一之 UIKit动画
查看>>
tomcat编码乱码问题
查看>>
Spring中的自动装配(AutoWire)
查看>>
016,spring boot集成Mybatis之多数据源
查看>>
关于JOptionPane的一些东西
查看>>
STM32学习笔记2——RC522
查看>>
Centos环境下的DNS智能解析
查看>>
文件扩展名(后缀)与MINE-type的对照关系
查看>>
linux启动jmeter报An error occurred
查看>>
华为设备工作中常用到的nat server配置
查看>>