artTemplate高性能数据模板引擎

相信数据模板引擎这个东西对于前端还是后台程序员来说都不陌生。我个人也非常讨厌用字符串拼接,字符串拼接用多了就会使代码看起来很乱,而且后期维护起来很不方便。现在前端数据渲染中出现了很多更好的方案,前端主流的mvc,mvvm框架如angular,vue,react等都自带响应式数据渲染功能,因此很多时候对前端开发者来说用框架渲染再合适不过了。但有些时候就不需要框架别的功能,只需要数据渲染的话就那这些框架来渲染不太合适了。这个时候后我们需要一些具有数据渲染能力的轻型引擎。artTemplate就是一个轻量级的数据模板引擎,渲染速度和性能在现阶段数据模板引擎中更好的那个。前天写了个demo,就用artTemplate渲染出了一个休息日日历表(数据是自己模拟的),分享一下

artTemplate 相关链接http://www.jq22.com/jquery-info1097

我的demo下载链接 https://github.com/nurdun/nurdun#nurdun

日历

html

<div class="date-box" id="js-date">

    </div>

css

*{
            padding:0;
            margin:0;
        }
        .date-box{
            margin: 0 auto;
            width: 244px;
            height: auto;
            background: #fafafa;
            box-sizing:border-box ;
            border: 2px solid #0d1116;
            border-radius: 5px;
            overflow: hidden;
        }
        .date-title{
            width: 100%;
            height: 30px;
            background: #0055aa;
            box-sizing: inherit;
            border-bottom: 1px solid #0d1116;
            line-height: 30px;
            text-align: center;
            color:#ffffff;
        }
        .date-title span:first-child{
            width: 30px;
            float: left;
            text-align: right;
        }
        .date-title a{
            display: inline-block;
            margin: auto;
            width: 80px;
            color: inherit;
            text-decoration: none;
        }
        .date-title span:last-child{
            width: 35px;
            float: right;
        }
        .date-content{
            width: 100%;
            height: auto;
            box-sizing: inherit;
            color: #9a9a9a;
            overflow: hidden;
        }
        .date-content li{
            display: block;
            float: left;
            width: 80px;
            height: 50px;
            box-sizing: inherit;
            border:1px solid #0d1116;
            text-align: center;
            line-height: 50px;
        }
        .date-intro{
            width: 100%;
            height: 37px;
            box-sizing: border-box;
            border: 1px solid #0d1116;
            text-align: center;
            line-height: 35px;
            font-size: 12px;
            color: #666666;
        }
        .date-intro span:first-child{
            margin-right: 20px;
        }
        .date-intro span:last-child{
            margin-left: 20px;
        }

上面css中overflow:hidden;是为了清除浮动

template

<script id="date" type="text/html">
        <div class="date-title"><span class="iconfont icon-rili"></span><a href="" id="select-month">{{month.thisMonth}}月份</a><span class="iconfont icon-rili"></span></div>
        <ul class="date-content">
          {{each list as value}}
            <li>{{value}}</li>
           {{/each}}
        </ul>
        <div class="date-intro"><span class="iconfont icon-pre"></span>上面均为国家规定假日<span class="iconfont icon-arrow-right-double"></div>
    </script>

    <script type="text/html"id="month-tmp">
            {{each monthList as item}}
                <a>{{item}}月份</a>
            {{/each}}
    </script>

js

var data ={
            month:{
               thisMonth:"四",
                monthList:["一","二"]
            },
            list:[1,6,7,13,14,20,21,27,28]
        }

        var html = template(‘date‘,data);
        document.getElementById("js-date").innerHTML = html;

            $("#select-month").on("click",function(){
                var html = template(‘month-tmp‘,data.month);
                document.getElementById("select-month").innerHTML = html;
            })

在头部别忘了引入artTemplate

效果图

时间: 2024-10-03 05:34:44

artTemplate高性能数据模板引擎的相关文章

各种JS模板引擎对比数据(高性能JavaScript模板引擎)

最近做了JS模板引擎测试,拿各个JS模板引擎在不同浏览器上去运行同一程序,下面是模板引擎测试数据:通过测试artTemplate.juicer与doT引擎模板整体性能要有绝对优势: js模板引擎 JavaScript 模板引擎作为数据与界面分离工作中最重要一环,越来越受开发者关注,从而出现在各大型网站 Twitter.淘宝网.新浪浪微博.腾讯QQ空间.腾讯微博等.那么他们各自性能怎么样?请看下面. 通常模板引擎 baiduTemplate(百度)\artTemplate(腾讯)\juicer(淘

高性能JavaScript模板引擎原理解析

随着 web 发展,前端应用变得越来越复杂,基于后端的 javascript(Node.js) 也开始崭露头角,此时 javascript 被寄予了更大的期望,与此同时 javascript MVC 思想也开始流行起来.javascript 模板引擎作为数据与界面分离工作中最重要一环,越来越受开发者关注,近一年来在开源社区中更是百花齐放,在 Twitter.淘宝网.新浪微博.腾讯QQ空间.腾讯微博等大型网站中均能看到它们的身影. 本文将用最简单的示例代码描述现有的 javascript 模板引擎

artTemplate模板引擎学习实战

在我的一篇关于智能搜索框异步加载数据的文章中,有博友给我留言,认为我手写字符串拼接效率过低,容易出错.在经过一段时间的摸索和学习之后,发现现在拼接字符串的方法都不在是自己去书写了,而是使用Javascript引擎.而javascript引擎的实质就是帮我们把带有JavaScript代码的伪THTML语句编译为HTML. 如果有不了解的朋友,可以前往这两篇文章: 淘宝购物车页面 PC端和移动端实战 淘宝购物车页面 智能搜索框Ajax异步加载数据 源码地址: GitHub:Uncle-Keith 回

高性能跨语言模板引擎Crox

http://thx.github.io/crox/ Crox是一个由JavaScript语言实现的高性能跨语言模板引擎.Crox模板可以直接在JavaScript环境中使用,也可以翻译成PHP,JSP等其他编程语言的可执行方法或翻译成Velocity,Smarty等其他模板引擎的源模板,Crox将保证翻译后的结果具备最佳执行效率. 在生产系统中,我们使用的各种前后端模板引擎多有其独到的一面,而Crox的特点即它是面向"跨语言并高性能"这个目标设计的,Crox的设计过程是在模板提供的功

js模板引擎介绍搜集

js模板引擎越来越多的得到应用,如今已经出现了几十种js模板引擎,国内各大互联网公司也都开发了自己的js模板引擎(淘宝的kissy template,腾讯的artTemplate,百度的baiduTemplate等),如何从这么多纷繁的模板引擎中选择一款适合自己的呢,笔者最近对主流的js模板引擎(mustache,doT,juicer,artTemplate,baiduTemplate,Handlebars,Underscore)做了一番调研,分享出来希望对大家有用. 从这几个指标来比较js模板

doT js 模板引擎【初探】

js中拼接html,总是感觉不够优雅,本着要优雅不要污,决定尝试js模板引擎. JavaScript 模板引擎 JavaScript 模板引擎作为数据与界面分离工作中最重要一环,越来越受开发者关注. 常见模板引擎 baiduTemplate(百度)\artTemplate(腾讯)\juicer(淘宝)\doT\ tmpl\ handlebars\ easyTemplate\ underscoretemplate \ mustache \kissytemplate等 为什么选择doT: doT.j

前端模板引擎入门

模板引擎 模板引擎 起到 数据和视图分离的作用, 模板对应视图, 关注如何展示数据, 在模板外头准备的数据, 关注那些数据可以被展示. 后端模板引擎 freemarker 如下介绍,  java后台的模板引擎, freemark介绍,其图能很好标明这种关系. http://freemarker.org/ Apache FreeMarker is a template engine: a Java library to generate text output (HTML web pages, e

调研js模板引擎

js模板引擎越来越多的得到应用,如今已经出现了几十种js模板引擎,国内各大互联网公司也都开发了自己的js模板引擎(淘宝的kissy template,腾讯的artTemplate,百度的baiduTemplate等),如何从这么多纷繁的模板引擎中选择一款适合自己的呢,笔者最近对主流的js模板引擎(mustache,doT,juicer,artTemplate,baiduTemplate,Handlebars,Underscore)做了一番调研,分享出来希望对大家有用. 从这几个指标来比较js模板

浅析js模板引擎

js模板引擎越来越多的得到应用,如今已经出现了几十种js模板引擎,国内各大互联网公司也都开发了自己的js模板引擎(淘宝的kissy template,腾讯的artTemplate,百度的baiduTemplate等),如何从这么多纷繁的模板引擎中选择一款适合自己的呢,笔者最近对主流的js模板引擎(mustache,doT,juicer,artTemplate,baiduTemplate,Handlebars,Underscore)做了一番调研,分享出来希望对大家有用. 从这几个指标来比较js模板