`
xdlliutao
  • 浏览: 38196 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

javascript模版引擎-tmpl 使用小窍门

阅读更多



一、缓存优化。tmpl 默认对嵌入到页面中的模板进行了缓存优化(即第一个参数为ID的时候),它只会对模板进行一次分析。若原始模板是直接传入到 tmpl 第一个参数中,且需要多次使用的话,建议用公用变量缓存起来,需要解析数据的时候再使用,以获得相同的优化效果。兄弟连HTML5培训:



// 生成模板缓存var render = tmpl(listTmpl);

// 可多次调用模板elem.innerHTML = render(data1);elem.innerHTML = render(data2);...



二、避免未定义的变量引起系统崩溃。若模板中定义了一个变量输出,而且传入数据却少了这个项目就会出现变量未定义的错误,从而引起整个程序的崩溃。如果无法确保数据完整性,仍然有方法可以对对其成员进行探测。原版中暗含变量保存了原始传入的数据,即 obj ;而在我的升级版本中则是关键字 this,如:



<% if (this.dataName !== undefined) { %>

      <%=dataName %>

<% } %>



三、调试模板。

由于模板引擎是用文本的调用的 javascript 引擎,调试工具无法定位到出错的行。在 升级版本 中你可以用调试工具输出编译好的模板缓存。例如调试这个模板:



<script id="tmpl" type="text/tmpl">

<ul>

        <% for (var i = 0, l = list.length; i < l; i ++) { %>

<li><%=list[i].index%>. 用户: <%=list[i].user%>; 网站:<%=list[i].site%></li>



        <% } %>

</ul>

输出缓存:



window.console(tmpl('tmpl').$);

日志结果:



"$111111.push('

<ul> '); for (var i = 0, l = list.length; i < l; i ++) { $111111.push('

<li>',list[i].index,'. 用户: ',list[i].user,'; 网站:',list[i].site,'</li>



'); } $111111.push(' </ul>



');return $111111"



现在你可以看到模板引擎编译好的javascript语句,可以对照这检查模板是否存在错误。
分享到:
评论

相关推荐

    node-ts-tmpl:TypeScript支持的Nodejs的入门项目

    "node-ts-tmpl:TypeScript支持的Nodejs的入门项目" 这个标题表明我们正在讨论一个基于TypeScript构建的Node.js入门模板项目。Node.js是一个流行的JavaScript运行环境,允许开发者在服务器端运行JavaScript代码。而...

    jquery.tmpl.js使用例子

    另外,虽然tmpl.js在当时是一款流行的模板引擎,但随着前端技术的发展,现在更多开发者倾向于使用Handlebars、EJS或者React等更强大且功能丰富的库。然而,理解tmpl.js的基本原理和使用方法,对于学习现代模板引擎...

    jquery前台模板demo(很实用的)

    **jQuery前台模板详解** 在网页开发中,前端模板起着至关重要的作用,它能帮助开发者快速构建用户界面,提高开发效率。...通过研究这个demo,你可以掌握使用jQuery和模板引擎来构建高效前端界面的技巧。

    介绍JavaScript的一个微型模版

    我一直在使用一个小工具,并发现它在构建Javascript应用过程中非常实用。它是一个非常简单的模板函数,速度快,支持缓存,并容易使用。我想分享一下使用它的过程中的一些技巧。 以下是模板函数的代码(你可以从正要...

    使用jQuery的客户端模板

    总的来说,使用jQuery的客户端模板是一种强大的前端开发技巧,它能帮助开发者构建富交互性和高性能的Web应用。了解并熟练掌握这个功能,对于提升Web开发技能和项目效率具有重要意义。通过不断学习和实践,你可以更好...

    jquery-jsrender.js 下载

    `jQuery JSRender` 是一款高效且功能强大的JavaScript模板引擎,它是jQuery插件家族的一员,专为构建动态数据驱动的Web界面而设计。该库允许开发者通过简洁易读的语法创建复杂的HTML模板,从而在不涉及大量DOM操作的...

    thinkphp模板赋值与替换实例简述

    在ThinkPHP框架中,模板赋值与替换是一种常见的操作,它主要用于将数据传入模板并显示出来,以及在模板中进行字符串或变量的替换,从而使得模板更加灵活和动态。本文将详细介绍ThinkPHP中的模板赋值与替换的具体方法...

    Jqeury常用案例收藏

    6. **模板引擎**:标签中提到了"模板",可能是指jQuery的模板插件,如`jQuery.tmpl()`或`Handlebars.js`。模板引擎能帮助我们动态生成HTML,使数据绑定更加便捷。案例会展示如何利用模板来渲染数据,提升页面的动态...

    joomla 组件 开发 详解 (附带源代码)

    1. 使用Joomla的官方开发文档,它提供了详细的API和最佳实践指南。 2. Joomla的Extension Developer Tool(EDT)可以帮助快速生成基础代码结构。 3. 学习并理解MVC(模型-视图-控制器)设计模式,它是Joomla组件开发...

    thinkphp中__PUBLIC__常量的用法.zip

    在ThinkPHP框架中,`__PUBLIC__`是一个预定义常量,用于帮助开发者方便地引用项目的公共资源,如CSS、JavaScript文件或图片等。这个常量的值通常指向`public`目录,它是Web服务器的入口点,直接对外提供服务。理解并...

    ThinkPHP中自定义错误页面和提示页面实例

    在ThinkPHP框架中,自定义错误页面和提示页面是提升用户体验和程序友好性的重要手段。本文将详细解释如何在ThinkPHP中...希望通过本实例的解读,能够帮助更多ThinkPHP开发者快速掌握这一技巧,提升开发效率和产品质量。

    ThinkPHP页面跳转success与error方法概述

    更多关于ThinkPHP的使用可以参考本站专题文章,包括《ThinkPHP入门教程》、《ThinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《Smarty模板入门基础教程》以及《PHP模板技术总结》。 通过对ThinkPHP框架...

Global site tag (gtag.js) - Google Analytics