JavaScript模板引擎 art-template.js 的使用(script 标签模板使用)

art-template是款性能卓越的 js 模板引擎 https://aui.github.io/art-template/
中文文档地址https://aui.github.io/art-template/zh-cn/docs/
下载地址: https://github.com/aui/art-template

善用JS标签
如果html很短还好说,但是遇到描述里面的这么大段,直接用字符串存储会很困难,因为不光要处理单引号,还需要很多「+」号把字符串一个个连接拼接起来,十分的不方便。给<script>设置type="text/template",标签里面的内容不会被执行,也不会显示在页面上,但是可以在另一个script里面通过获取,然后再通过相关的模板工具进行处理,插入到页面中。这样就把大段的HTML操作从js里面分离开了。

JS标签设计
<script type="text/html" id="temp">
    <div class="item">
       aaaaaa
    </div>
</script>

使用
<script LANGUAGE="JavaScript" >
   str=$('#temp').html();
</script>

如果是由数据渲染,简单的自己做循环拼接一下,复杂的就可以用art-template.js插件动态渲染

<!-- diy元素: 搜索栏 -->
        <script id="tpl_diy_search" type="text/html">
            <div class="drag" id="diy-{{ id }}" data-itemid="{{ id }}">
                <div class="diy-search"
                     style="background: {{ style.background }}; padding-top:{{ style.paddingTop  }}px; ">
                    <div class="inner left {{ style.searchStyle }}" style="background: {{ style.inputBackground }};">
                        <div class="search-input"
                             style="text-align: {{ style.textAlign }}; color: {{ style.inputColor }};">
                            <i class="search-icon iconfont icon-ss-search"></i>
                            <span>{{ params.placeholder }}</span>
                        </div>
                    </div>
                </div>
                <div class="btn-edit-del">
                    <div class="btn-edit">编辑</div>
                    <div class="btn-del">删除</div>
                </div>
            </div>
        </script>

注意JSON数据对应模板的动态填充关系和使用方法(如果有)

循环的例子

以下是标准流程

1在这里引入腾讯的(自行下载引入)

<script src="./art-template.js"></script>

2、编写模板和渲染的容器

<div id="test-wrapper"> </div>

    <script id="test-template" type="text/html">
    <h1>{{title}}</h1>
    </script>
3、获取模板并往模板里插入数据
var data = {
    title: "hello world",
    desc: "<p>这是一段描述</p>"};
    var html = template("test-template",data);
4、把模板渲染到页面
document.getElementById('test-wrapper').innerHTML = html;
或JQUERY写法
$('#test-wrapper').html(html)
(0)

相关推荐

  • 5分钟上手Egg.js+nunjucks模板引擎快速开发SEO友好的官网项目

    在日常的项目中,有时候还是不可避免的会维护一些jq官网项目等.面对此类需求,很多还是以前的老套路,前端写页面交给后端去套数据.很烦有木有--而改动之后还得交给后端再次修改,时间和沟通都是个麻烦.同时开 ...

  • .NET 中安全高效跨平台的模板引擎 Fluid 使用文档

    今天 以下文章来源于码农很忙 ,作者码农很忙 码农很忙代码改变世界. Liquid 是一门开源的模板语言,由 Shopify 创造并用 Ruby 实现.它是 Shopify 主题的主要构成部分,并且被 ...

  • 如何选择 Web 前端模板引擎?

    WEB前端开发社区 昨天 Web 模板就在那里 模板引擎负责组装数据,以另外一种形式或外观展现数据.浏览器中的页面是 Web 模板引擎最终的展现. 无论你是否直接使用模板引擎,Web 模板一直都在,不 ...

  • 使用 .NET Core模板引擎创建自定义的模板和项目

    WEB前端开发社区 昨天本文是我们 .NET教育系列的一部分,该教育系列探讨了 .NET 技术的好处,以及它是如何不仅可以帮助传统的 .NET 开发人员,还可以帮助所有想要为市场提供可靠.高效且经济的 ...

  • 模板引擎

    引入 最早开发的时候,展示页面我们都是使用HTML完成我们的代码编写:但是我们的显示页面一定是需要动态变化的,之后就引入了Jsp技术,用来进行数据的显示及交互,但是Jsp是以war包进行部署,但是之后 ...

  • 浅谈Web中前后端模板引擎的使用

    WEB前端开发社区 3月12日 单纯的后端模板引擎(后端 MVC)以及前端模板引擎方式都有一定的局限性,Node 的出现让我们有了第三种选择,让 Node 作为中间层.具体如何操作?简单地说就是让一门 ...

  • 第21天:Web开发 Jinja2模板引擎

    在之前的文章中,简单介绍了Python Web开发框架Flask,知道了如何写个Hello World,但是距离用Flask开发真正的项目,还有段距离,现在我们目标更靠近一些 -- 学习下Jinja2 ...

  • PHP核心之模板引擎Smarty

    Smarty Smarty简介 概念 为了分工合作,模板页面中最好不要出现PHP的代码 需要将表现和内容相分离 官方Smarty 概念 Smarty是用PHP编写的优秀的模板引擎 Smarty可以实现 ...

  • ecshop模板调用相应的JS和CSS方法

    在ecshop的 dwt.lbi 模板下调用CSS和JS的路径是不一样的 调用CSS的话.就是直接调用就行了. 调用JS其实要绝对路径才可以 当然也可以 <script src="th ...