js模板引擎——artTemplate的使用问题

最近在使用模板引擎,对于出现的错误做一个小总结。

想要在下拉框中使用模板,让下拉选项中的每一项都由模板显示。

用下面的写法会出错,只有一个下拉选项,所有的数据都在一行内。

....

<select>
    <option id="temp"></option>
    <script type="text/html" id="test">
          {{if data.count > 0}}
                {{each data.list as item i}}
                        {{item.id}}-{{item.name}}
                 {{/each}}
           {{/if}}
    </script>
    <script src="js/artTemplate.js"></script>
    <script>
           var data = {
                   count:2,
                   list:[
                         {
                             id:1,
                             name: "hihi"
                         },
                         {
                             id:2,
                             name:"boe"
                          }
                    ]
             }
             var html = template("test",data);
             document.getElementById("temp").innerHTML = html;
    </script>
</select>

这是模板使用错误,正确的方式:

....

<!--显示模板的地方 -->
<select id="temp></select>

<!-- 需要引入artTemplate.js才能使用模板-->
<script src="js/artTemplate.js"></script>  

<!-- 使用一个type="text/html"的script标签存放模板-->
    <script type="text/html" id="test">
          <option>请选择</option>
          {{if data.count > 0}}
                {{each data.list as item i}}
                        <option value="{{item.id}}">{{item.name}}</option>
                 {{/each}}
           {{/if}}
    </script>

<!-- 渲染模板-->
    <script>
           var data = {
                   count:2,
                   list:[
                         {
                             id:1,
                             name: "hihi"
                         },
                         {
                             id:2,
                             name:"boe"
                          }
                    ]
             }
             var html = template("test",data);
             document.getElementById("temp").innerHTML = html;
    </script>

当然模板也可以结合ajax和json来使用

时间: 2024-08-04 23:48:39

js模板引擎——artTemplate的使用问题的相关文章

js模板引擎--artTemplate

js模板引擎--artTemplate 以前研究过一段时间的handlebars,但因为其渲染性能略逊于腾讯的artTemplate(在artTemplate的GitHub官网上有推荐的性能测试地址),貌似最近耳边听到得最多的模板引擎也就是artTemplate了,所以就花个时间来研究下吧... artTemplate是新一代的javascript模板引擎,若采用拥有V8引擎的chrome浏览器进行测试,其渲染性能甚至能达到知名模板引擎Mustache的20倍以上以及模板引擎tmpl的40倍以上

js模板引擎art-template使用方法

art-template是款性能卓越的 js 模板引擎 https://aui.github.io/art-template/ 特性 拥有接近 JavaScript 渲染极限的的性能 调试友好:语法.运行时错误日志精确到模板所在行:支持支持在模板文件上打断点(Webpack Loader) 支持压缩输出页面中的 HTML.CSS.JS 代码 支持 Express.Koa.Webpack 支持模板继承与子模板 兼容 EJS.Underscore.LoDash 模板语法 模板编译后的代码支持在严格模

性能卓越的js模板引擎--artTemplate

以前研究过一段时间的handlebars,但因为其渲染性能略逊于腾讯的artTemplate(在artTemplate的GitHub官网上有推荐的性能测试地址),貌似最近耳边听到得最多的模板引擎也就是artTemplate了,所以就花个时间来研究下吧... artTemplate是新一代的javascript模板引擎,若采用拥有V8引擎的chrome浏览器进行测试,其渲染性能甚至能达到知名模板引擎Mustache的20倍以上以及模板引擎tmpl的40倍以上,测试截图如下: 下面进入正题: 特性

js模板引擎-art-template常用

art-template javascript 模板引擎 分为原生语法和简洁语法,本文主要是讲简洁语法 基础数据渲染 输出HTML 流程控制 遍历 调用自定义函数方法 子模板引入 基础数据渲染 一.引入art-template.js文件 <script src="template-debug.js"></script> 二.编写HTML模板 <script id="test" type="text/html">

js模板引擎-art-template常用总结

art-template javascript 模板引擎,官网:https://github.com/aui/art-template 分为原生语法和简洁语法,本文主要是讲简洁语法 基础数据渲染 输出HTML 流程控制 遍历 调用自定义函数方法 子模板引入 基础数据渲染 一.引入art-template.js文件 <script src="template-debug.js"></script> 二.编写HTML模板 <script id="te

掌握js模板引擎

最近要做一个小项目,不管是使用angularjs还是reactjs,都觉得大材小用了.其实我可能只需要引入一个jquery,但想到jquery对dom的操作,对于早已习惯了双向绑定模式的我,何尝不是一种痛苦. 听过这样一句话:"技术没有缺席,只有姗姗来迟",很多技术自己不知道,并非没有.今天我想介绍的就是一个简单的js模板引擎artTemplate,让我们扬帆起航吧- 一.概述 artTemplate 是新一代 javascript 模板引擎,它采用预编译方式让性能有了质的飞跃,并且充

JavaScript模板引擎artTemplate.js——结语

再次首先感谢模板的作者大神,再次放出github的地址:artTemplate性能卓越的js模板引擎 然后感谢博客园的一位前辈,他写的handlebars.js模板引擎教程,对我提供了很大的帮助,也是由此自己写了一份简单的artTemplate.js的总结. 由于这次是工作期间匆忙中写的,所以有些不完善的地方,后续会继续补充的.

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

最近做项目用了JS模板引擎渲染HTML,JS模板引擎是在去年做项目是了解到的,但一直没有用,只停留在了解层面,直到这次做项目才用到,JS模板引擎用了两个 BaiduTemplate 和 ArtTemplate. 项目之初用的是BaiduTemplate引擎,项目完成后发布到互联网,发现数据量大时,加载速度慢了点,就考虑换其它模板引擎是否能提高渲染效率,在网上查找.对比后发现ArtTemplate更好一点,就深入了解与学习了下,两个引擎语法有点差别,但结果是一至的,下面具体介绍一下两个引擎的使用情

JS模板引擎

JS模板引擎 :ArtTemplate 1.为什么需要用到模板引擎 我们在做前端开发的时候,有时候经常需要根据后端返回的json数据,然后来生成html,再显示到页面中去. 例如这样子: var data = [ {text: "测试一"}, {text: "测试二"}, {text: "测试三"}, {text: "测试四"} ]; function generateList(data) { var listHtml = &