博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jTemplate —— 基于jQuery的javascript前台模版引擎
阅读量:6424 次
发布时间:2019-06-23

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

reference: http://blog.csdn.net/lexinquan/article/details/6674102     http://blog.csdn.net/kuyuyingzi/article/details/38351867 

jTemplates包含三个预定全局变量,分别是$T、$P、$Q。$T为模板提供数据调用功能,$P为模板提供参数变量调用功能,$Q.version提供当前jTemplate的版本

下面介绍将会用到这些功能。

jTemplates还支持#if、#for、#cycle、#foreach、#include、#param标签,帮助你处理实现复杂的业务情形。

数据准备:

var data ={  TotalCount:64,  Lists:[  {Id:'2001' ,Title:'新闻11',CreateDate:'2011-08-08'},  {Id:'2002' ,Title:'新闻22',CreateDate:'2011-08-08'},  {Id:'2003' ,Title:'新闻33',CreateDate:'2011-08-08'},  {Id:'2004' ,Title:'新闻44',CreateDate:'2011-08-08'},  {Id:'2005' ,Title:'新闻55',CreateDate:'2011-08-08'},  ]  }

1、引入库文件 

     

2、编写模板

 

result">
语法: 
1、大括号{..} ,在这里面可以写任何javascript的代码,比如 {$T.toUpperCase()} 
2、{$T} : 表示数据,例如上面的例子,$T.table表示得到data的table对象,$T.TotalCount 为 64。 
3、{#foreach} : 循环获取数据,如上面:{#foreach $T.table as row}      {$T.row.Title}      {/for}  
扩展语法: 
{#if} 
例子:
{#if $T=="true"} good {#else} fail {#/if}
{#if $T.list_id == 3} System list {#elseif $T.list_id == 4} Users List {#elseif $T.list_id == 5} Errors list {#/if}

{#foreach}

{#foreach |VAR| as |NAME| [begin=|CODE|] [count=|CODE|] [step=|CODE|]}..{#else}..{#/for}
例子:
a、输出所有数据:
{#foreach $T.table as row}      {$T.row.Title}      {/for}

b、从第二条记录开始输出:

{#foreach $T.table as row begin=1}      {$T.row.Title}      {/for}

c、从第二条开始且只取2条

{#foreach $T.table as row begin=1 count=2}      {$T.row.Title}      {/for}

d、使用step

{#foreach $T.table as row step=2}      {$T.row.Title}      {/for}

e、使用else

{#foreach $T.table as row step=2}      {$T.row.Title}  {#else}   无记录   {/for}
{#for}

例子:

{#for index = 1 to 10} {$T.index} {#/for}
{#for index = 1 to 10 step=3} {$T.index} {#/for}

3、渲染模板并展示

设置模板的几种方法: 
a. setTemplateElement:参数为页面中的一个元素ID
如上面的例子 
b. setTemplate: 参数为具体的模板内容,
如:$("#result").setTemplate("Template by {$T.bold()} version <em>{$Q.version}</em>."); 
c.setTemplateURL:使用外部独立模板文件Url作为参数
如:$("#result").setTemplateURL("example_multitemplate1.tpl");

4、运行结果:

完整代码
                            jTemplates                    

 

你可能感兴趣的文章
Linux iptables开放特定端口
查看>>
mongodb之 mongodump 与 mongorestore
查看>>
Cent OS home下中文目录改成英文目录
查看>>
dedecms调用日期格式化形式大全
查看>>
springboot结合maven打包发布
查看>>
thinkphp5的Auth权限认证实战
查看>>
Service插件化解决方案
查看>>
vc++各种连接的处理方法
查看>>
软件观点 - 软件工厂方法
查看>>
EM 【 Enterprise Manager】 的配置
查看>>
vim复制粘贴系统粘贴板
查看>>
尽量不要使用文本模式
查看>>
顶级程序员的 10 条最佳实践
查看>>
Azure Media Service (1) 使用OBS进行Azure Media Service直播
查看>>
【转】c++ http下载文件
查看>>
matlab练习程序(水波特效)
查看>>
Ejabberd V.S Openfire
查看>>
【T03】理解私有地址和NAT
查看>>
手机和电话的验证
查看>>
jsp struts标签迭代各种数据
查看>>