我是这样使用template.js来异步渲染数据的
总监的代码用的是define+module.exports,为了效率先没去了解那一块,在github上找了一款功能单一的template.js来使用
https://github.com/yanhaijing/template.js
很迷你,需要适当封装,比如:
//利用template渲染
//tpl_id:模板id
//div_id:渲染在哪
//data:数据
function render(tpl_id,div_id,data){
var tpl = document.getElementById(tpl_id).innerHTML;
var html=template(tpl, {list: data});
document.getElementById(div_id).innerHTML=html;
}
这里的template就是核心方法了.最简单的页面模块如下,还有很多有定义的写法:
<script id="tpl" type="text/html">
<ul>
<%for(var i = 0; i < list.length; i++) {%>
<li><%:=list[i].name%></li>
<%}%>
</ul>
</script>
比如自定义代码可以用<% %>包裹起来,不需要中括号哈,只是为了区别位置
默认写法:<%=[内容]%>
不转义写法:<%:=[内容]%>
转义写法:<%:h=[内容]%>
url转义:<%:u=[内容]%>
我是用template来做什么呢?
同样是页面内筛选,拒绝多次链接数据库.
之前做静态页面时是将所有数据放入缓存中,之后再从缓存中进行下一步业务逻辑.
个人中心则要考虑到信息的实时变化,同时也不能每次筛选都读取数据库.
一开始想着在php里拼接html再渲染,但是脑子总是离不开用php就要刷新的概念.
其实跟template原理一模一样,一个是在php中拼接,一个是template帮你拼接了.
进入订单页面后从接口中获取订单信息,保存在全局变量中.这个全局变量就是以后筛选的源.
点击不同的标签传入不同的参数,筛选出不同的数据再渲染.注意上面的那个方法是可以复用的哈.
如果不同的数据对应不同的模板,只要在页面中写好不同的模板,然后传入不同的模板id就可以实现多数据多模板的渲染了!
我是这样使用template.js来异步渲染数据的的更多相关文章
- 我是这样使用template.js来异步渲染数据的demo
直接来代码吧! <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <t ...
- template.js文档
参见GitHub:https://github.com/yanhaijing/template.js/ template.js简介: template.js 一款javascript模板引擎,简单,好 ...
- 出位的template.js 基于jquery的模板渲染插件
找了好几款基于jquery的模板渲染插件,无一感觉很难用(教程较少.绑定不统一),也可能我智商问题,比如jquery template.js .jtemplate.js. 然后在github上找到这一 ...
- template.js 数据渲染引擎
template.js 数据渲染引擎 template.js是一款JavaScript模板引擎,用来渲染页面的. 原理:提前将Html代码放进编写模板 <script id="tpl& ...
- js模板(template.js)实现页面动态渲染
template.js是由纯JavaScript编写的第三方模板引擎.点击https://github.com/yanhaijing/template.js可进行下载. 在页头导入模板文件 <s ...
- vue 异步渲染
<!DOCTYPE html> <html> <head> <title> hello world vue </title> <met ...
- 关于vue.js中列表渲染练习
html: <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8 ...
- 从壹开始前后端分离 [ vue + .netcore 补充教程 ] 二九║ Nuxt实战:异步实现数据双端渲染
回顾 哈喽大家好!又是元气满满的周~~~二哈哈,不知道大家中秋节过的如何,马上又是国庆节了,博主我将通过三天的时间,给大家把项目二的数据添上(这里强调下,填充数据不是最重要的,最重要的是要配合着让大家 ...
- 从父子组件的mounted钩子的同步执行与页面的异步渲染看nextTick的用法
最近复习vue的时候遇到了一个很奇怪的问题,我们直接从实例中看: <div id="app"> <child ref="child">& ...
随机推荐
- SQL Server查看表结构及视图,适合开发者使用,简单易用
SELECT * FROM INFORMATION_SCHEMA.TABLES SELECT * FROM INFORMATION_SCHEMA.COLUMNS 查看执行结果
- C++ builder 中AnsiString的字符串转换方法大全
C++ builder 中AnsiString的字符串转换方法大全 //Ansistring 转 charvoid __fastcall TForm1::Button1Click(TObject *S ...
- String和StringBuilder的使用
如果有理解错误的地方希望有朋友能指出,谢谢! String是特殊的引用类型的,更像值类型,StringBuilder的是规规矩矩引用类型的. 首先看这样的对比图,Equals()方法是判断两个 ...
- TFS二次开发、C#知识点、SQL知识
TFS二次开发.C#知识点.SQL知识总结目录 TFS二次开发系列 TFS二次开发系列:一.TFS体系结构和概念 TFS二次开发系列:二.TFS的安装 TFS二次开发系列:三.TFS二次开发的第一 ...
- PHP实现一个简单url路由功能
如果一个页面的内容呈现,需要根据url上传递的参数来进行渲染.很多时候可能是这样子写:xxx.com/xx?c=x&m=x& t=..,而我们看到的url往往是这样子的(以新浪微游戏的 ...
- selenium webdriver (python)2
selenium webdriver (python) 第二版 前言 对于大多软件测试人员来讲缺乏编程经验(指项目开发经验,大学的C 语言算很基础的编程知识)一直是难以逾越的鸿沟,并不是说测试比开发 ...
- float的深入剖析
float的深入剖析 float是什么? float即为浮动,在html中的作用是使元素脱离正常的文档流并使其移动到其父元素的“最左边”或“最右边”.下面解释下这个定义中的几个名词的概念: 文档流 ...
- CNN for Visual Recognition (assignment1_Q1)
参考:http://cs231n.github.io/assignment1/ Q1: k-Nearest Neighbor classifier (30 points) import numpy a ...
- HDU 4062 Partition
Partition Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Sub ...
- 读取的XML节点中带有冒号怎么办?
读取的XML节点中带有冒号怎么办? 昨天,编程读取XML的时候,遇上了类似下面的一段XML <a:root xmlns:a="http://ww.abc.com/"> ...