引言

有一天在群里有一个人发了这么一个图片

看到这个就会发现2个问题,一个是后期如果html结构改变了,这一大块都要重写。还有一个就是写的时候自己都看不清,很容易出错。

然后还有一个人写的清楚一点,但是第一个问题的弊端还是在的:

这个时候问题就来了,这种后端推送过来的数据该怎么展现呢?

情景1:后端ViewBag或者Model推送的数据

假设后端通过ViewBag.Mess给前端送了一个字符串数组["科学","玄幻","武侠","探险","神话"]。这个时候要在页面上可以这么遍历展示:

这样可以基本解决该情景问题。

情景2:前端ajax请求到的数据如何展示

如果数据是前端ajax请求到的,那该怎么展示?

我之前都是和一开始的图片一样,自己拼接html语句。后来在一个大神的指导下学会了template的用法。

首先写一个script模板

                <script id="test" type="text/html">
{{each list as value i}}
<a class="weui-cell weui-cell_access" href="../Activity/ActivityWDetails?id={{value.Innerid}}&IsBadmintonActivity=0">
<div class="weui-cell__bd">
<p>{{value.Titel}}</p>
</div>
<div class="weui-cell__ft">{{value.StartTime}}</div>
</a>
{{/each}}
</script>

看这个代码模板可以看到部分html结构就是和要展现的结构是一致的,然后

<script>
function AddMore()
{
$(".load").remove();
$.ajax(
{
url: "LoadMoreData",
type: "post",
success: function (data)
{
console.log(data);
//var str = "";
//for (var i = 0; i < data.length; i++)
//{
// str += "<a class='weui-cell weui-cell_access' href='../Activity/ActivityWDetails?id=" + data[i].Innerid + "&IsBadmintonActivity=0'>"
// str += "<div class='weui-cell__bd'> <p>" + data[i].Titel + "</p></div>";
// str += "<div class='weui-cell__ft'>" + data[i].StartTime + "</div></a>";
//}
var list = {data};
var html = template('test', {list:data});
//console.log(html);
$(".weui-cells").append(html);
},
error: function ()
{
$.toast("数据加载失败", "forbidden");
}
})
}
</script>

这样子就可以清清爽爽,没有jq凭借啦~

学习链接:http://www.jb51.net/article/100095.htm

关于js模板引擎template的使用记录的更多相关文章

  1. baiduTemplate.js 百度JS模板引擎

    baiduTemplate希望创造一个用户觉得“简单好用”的JS模板引擎 先展示两个例子,然后说说对baidutemplate.js的理解,从而将这一工具加到个人百宝箱里. <script id ...

  2. JavaScript模板引擎Template.js使用详解

    这篇文章主要为大家详细介绍了JavaScript模板引擎Template.js使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下   template.js 一款 JavaScript 模板引 ...

  3. doT js 模板引擎【初探】要优雅不要污

    js中拼接html,总是感觉不够优雅,本着要优雅不要污,决定尝试js模板引擎. JavaScript 模板引擎 JavaScript 模板引擎作为数据与界面分离工作中最重要一环,越来越受开发者关注. ...

  4. 百度JS模板引擎 baiduTemplate 1.0.6 版

    A.baiduTemplate 简介 0.baiduTemplate希望创造一个用户觉得“简单好用”的JS模板引擎 注:等不及可以直接点左侧导航中的”C.使用举例“,demo即刻试用. 1.应用场景: ...

  5. JS 模板引擎 BaiduTemplate 和 ArtTemplate 对比及应用

    最近做项目用了JS模板引擎渲染HTML,JS模板引擎是在去年做项目是了解到的,但一直没有用,只停留在了解层面,直到这次做项目才用到,JS模板引擎用了两个 BaiduTemplate 和 ArtTemp ...

  6. js模板引擎

    js模板引擎包括如下: template 官方参考:http://aui.github.io/artTemplate BaiduTemplate 官方参考:http://baidufe.github. ...

  7. 调研js模板引擎

    js模板引擎越来越多的得到应用,如今已经出现了几十种js模板引擎,国内各大互联网公司也都开发了自己的js模板引擎(淘宝的kissy template,腾讯的artTemplate,百度的baiduTe ...

  8. js模板引擎介绍搜集

    js模板引擎越来越多的得到应用,如今已经出现了几十种js模板引擎,国内各大互联网公司也都开发了自己的js模板引擎(淘宝的kissy template,腾讯的artTemplate,百度的baiduTe ...

  9. js模板引擎--artTemplate

    js模板引擎--artTemplate 以前研究过一段时间的handlebars,但因为其渲染性能略逊于腾讯的artTemplate(在artTemplate的GitHub官网上有推荐的性能测试地址) ...

随机推荐

  1. Drools Expression 介绍

    用好Drools 中的表达式是你的规则引擎能否强大的必要条件 http://docs.jboss.org/drools/release/6.1.0.Final/drools-docs/html_sin ...

  2. jquery实现自定义弹出框

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. Oracle视图的使用

    --视图的语法 create [ or replace ] [NO Force | Force] View schema.view_name--视图名称 [(alias,...)inline_cons ...

  4. Javascript中 节流函数 throttle 与 防抖函数 debounce

    问题的引出 在一些场景往往由于事件频繁被触发,因而频繁地进行DOM操作.资源加载,导致UI停顿甚至浏览器崩溃. 在这样的情况下,我们实际上的需求大多为停止改变大小n毫秒后执行后续处理:而其他事件大多的 ...

  5. Visual C++中min()和max()函数的使用

    标准库在<algorithm>头中定义了两个模板函数std::min() 和 std::max().通常用它可以计算某个值对的最小值和最大值. 可惜在 Visual C++ 无法使用它们, ...

  6. (转)python调取C/C++的dll生成方法

    本文针对Windows平台下,python调取C/C++的dll文件. 1.如果使用C语言,代码如下,文件名为test.c. __declspec(dllexport) int sum(int a,i ...

  7. FFMPEG内存操作(一) avio_reading.c 回调读取数据到内存解析

    相关博客列表 : FFMPEG内存操作(一) avio_reading.c 回调读取数据到内存解析 FFMPEG内存操作(二)从内存中读取数及数据格式的转换 FFmpeg内存操作(三)内存转码器 在F ...

  8. CentOS 6.X 安装 EPEL 源

    CentOS 6.X 自带的软件源可选的并不多,有时候要找到一个偏门一些的软件,用命令一搜怎么都没有源,考虑到使用软件源配合 yum 命令安装可以自动安装依赖,所以加一个新的软件源迫在眉睫. 考虑到同 ...

  9. 删除老的Azure Blob Snapshot

    客户有这样的需求:每天需要对VM的数据进行备份,但如果备份的时间超过一定的天数,需要进行清除. 本文也是在前一篇Azure Blob Snapshot上的优化. "Azure blob St ...

  10. linux下 vi 命令大全

    引用:http://www.cnblogs.com/88999660/articles/1581524.html 进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 vi ...