art-template模板渲染HTML
该方法的核心思想就是将json数据传入按照art-template模板编写模板中去。

1> 引入js文件

     <script src="./js/template-web.js" type="text/javascript" charset="utf-8"></script>

2> 准备json对象

    例如: var obj1 = {teams:[]};要求:后台服务器fastjson帮助我们将需要展示的数据,转换成json字符串能够看到json数据

3> 制定模版

    <script id="模版的唯一标识"  type="text/html">在这个里面制定模板</script><template id="模板的唯一标识">在这个里面制定模板</template>

4> 渲染

  <script type="text/javascript">var showDiv = document.querySelector("#id选择器");//template(模版的id,json格式的对象);showDiv.innerHTML = template("模版的唯一标识", json对象名);</script>// 基于模板名渲染模板template(filename, data);filename: 对于模板的script标签的id;data: js获取的数据(一般是后端返回的序列化json字符串)

5> 常用语句

输出

{{value}}             // 目前最常见的双花括号数据绑定{{data.key}}       // 对象点方式{{data['key']}}    // 另外一种对象处理方式{{a ? b : c}}       // 三元运算{{a || b}}           // 或运算  防止 undefined 报错{{a + b}}          // 并列输出{{$data['list']}}

if 选择


{{if flag == '1'}}展示的内容
{{else if flag == "2"}}展示的内容
{{else}}展示的内容
{{/if}}

循环

 注意:target 支持 array 与 object 的迭代,其默认值为 $data。$value 与 $index 可以自定义:{{each target val key}}。-- stuArray 是json中属性名-- 没有设置别名的时候  {{$index}} 索引  {{$value}}获取数组中值-- stu是别名,可以修改-- index 数组的索引,从0开始{{each stuArray  stu index}}{{stu}} {{stu.name}}{{index}}{{/each}}-- json属性的值,就是一个值,不是对象,也不是数组{{json的属性名}}

打印 print

   <script>var obj={ a: 'hello', b: '--world', c: '--!!!'};</script><template id="mb1">{{print a b c}}</template>

转义问题

    <template id="mb">显示文本:   {{userImg}}<hr>显示图片:    {{@userImg}}   或者   {{#userImg}} </template><script type="text/javascript">var obj={userImg:"<img src='./img/1.jpg'>"}document.querySelector(".show").innerHTML=template("mb",obj);</script>

模板中可以嵌入子模版

{{include '另外一个模版的id' 参数值}}<template id="template1"><ul class="artists">{{each artists  singer index}}<li>{{index+1}}<br>{{singer.name}}<br>{{include 'mb' singer}}</li>{{/each}}</ul></template><template id="mb"><!-- <img src="{{img1v1Url}}" width="80px"> -->{{id}}</template>

自定义过滤器

    // 定义变量template.defaults.imports.log = console.log;使用变量<% $imports.log('hello world') %>  == console.log('hello world')自定义过滤器定义函数template.defaults.imports.方法名 = function ( 参数 ) {}然后在模版中使用这个过滤器<span>{{json属性名 | 自定义过滤器方法名}}</span><span>{{参数1|自定义过滤器方法名:参数2,参数3,... }}</div>
  <!DOCTYPE html><html><head><meta charset="utf-8"><title></title></head><body><div class="show"></div><script src="./js/template-web.js" type="text/javascript" charset="utf-8"></script><template id="k1">{{each sexList  sex}}{{sex|sexinfo}}  <br>{{/each}}</template><script type="text/javascript">//自定义验证器在,js代码中写template.defaults.imports.sexinfo=function(sex){return sex==1?"男":"女";}//定义一个json对象var jsonObj={"sexList":[1,0,1,1,1,0]};//渲染模板document.querySelector(".show").innerHTML=template("k1",jsonObj);</script></body></html>

定义变量

   {{set temp = data.sub.content}}

Template-Web相关推荐

  1. CM: word template web service schema number的限制

    Created by Jerry Wang, last modified on Aug 21, 2014 note 2045119 - Document template could only con ...

  2. swagger: fetching resource list: http://localhost:8080/template/v2/api-docs?group=springboot-templat

    引入的swagger版本: <dependency><groupId>io.springfox</groupId><artifactId>springf ...

  3. php 微信定位源码_微信活码模块源码 - WEB源码|PHP源码|源代码 - 源码中国

    压缩包 : 微信活码模块源码V3.8.0(SG11加密,学习用).zip 列表 打死都要看的说明.txt addons/ addons/nx_livecode/ addons/nx_livecode/ ...

  4. Web Components 学习 01 认识 Web Components、一些组件库使用

    什么是 Web Components 开发项目的时候为什么不手写原生 JS,而是要用现如今非常流行的前端框架,原因有很多,例如: 良好的生态 数据驱动试图 模块化 组件化 等 Web Componen ...

  5. 超过 25 个华丽的 Web 日历组件【多图慎入】

    Web 应用上经常需要用到日历组件,例如生日选择.日程提醒.日期相关设置等等,下面是超过25个的界面非常华丽的日历组件. Calendar PSD Template Web Icon Calendar ...

  6. 会所网站php源代码,anmo 按摩休闲会所网站模板,全套 包含近20个HTML 页面,web制作源码。 WEB(ASP,PHP,...) 238万源代码下载- www.pudn.com...

    文件名称: anmo下载 收藏√  [ 5  4  3  2  1 ] 开发工具: HTML 文件大小: 4797 KB 上传时间: 2013-12-27 下载次数: 5 提 供 者: 烟鸭掌儿 详细 ...

  7. 超越文档类型,web标准化向前兼容和IE8

    FROM :http://help.powereasy.net/Template/WEB/1608.html 进步总是要有代价的. 对网页浏览器来说, 由于开发者像是宣传真理一样的拍着胸部担保着一些编 ...

  8. DevOps - Spring Boot自动部署到WebLogic

    前言 想想,如果Spring Boot的项目在本地IDEA可以直接通过内嵌tomcat的jar运行,而只要往GitHub上提交代码,就能自动帮你打包成war包部署在项目组的WebLogic服务器上,该 ...

  9. 浅谈Sharepoint权限

    基于Sharepoint做一个客户管理的系统,由于客户方对权限的要求非常严格,所以不得不自己去定义网站的权限,好在Sharepoint提供的权限系统比较完善,我们所创建的权限包括从创建SPWeb到创建 ...

  10. 25 个精美的后台管理界面模板和布局

    任何系统都会有一个管理后台,好看的管理后台看起来赏心悦目,管理的时候心情也舒畅,本文给大家推荐 25 个制作精美的后台管理界面的模板和布局,你值得拥有. Free Admin Template Web ...

最新文章

  1. Python:机器视觉与Tesseract介绍
  2. sql如何让计算出来的结果百分数显示_图解面试题:如何交换数据?
  3. vue页面绘图_利用vue制作在线涂鸦板
  4. jquery监听pda 按键_nui监听安卓PDA扫描事件
  5. 无法识别的属性“targetFramework”的解决方法
  6. C# SqlBulkCopy数据批量入库
  7. wpf 在另一个窗体上显示_另一个唐伯虎:大街上裸身奔跑、锒铛入狱多次自裁未遂...
  8. springboot 配置资源映射路径
  9. 3秒取暖,超高颜值!冬日必备的大宇取暖器
  10. ArcGIS10.5资源分享
  11. [PHP 作为iOS后台Json格式HTTP通信及文件上传的实现]
  12. 机器学习防止模型过拟合的方法知识汇总
  13. ofd软件linux,数科和福昕OFD软件同银河麒麟桌面操作系统完成互相兼容认证
  14. 使用planetaryjs插件实现3维地球仪效果
  15. 「建模学习」3DsMAX贴图制作方法,足球贴图案例详细教程
  16. Python数据分析与展示:实例:图像的手绘效果
  17. Android只播放gif动画
  18. 图像与视频处理中的优化方法
  19. win10联想软件商店壁纸的保存目录在哪
  20. 鸟哥惠新宸:PHP 7.1 的新特性我并不是很喜欢

热门文章

  1. HBase (1)---数据模型
  2. 一、Hbase介绍、数据模型、体系结构
  3. Bitmap高效加载
  4. NOMAO软件测试工资,基于混合遗传算法的测试数据自动生成研究
  5. ACM日历题新版(界面修改+国际节日)
  6. mail = imaplib.IMAP4_SSL('k20gslf-0kF')
  7. JavaScript in_array 函数
  8. 一些软件黑盒测试工具列表
  9. 在线教育软件开发的目的是什么?
  10. dbm数据库源代码分析(4):头文件部分(续)