`
流浪鱼
  • 浏览: 1684739 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

简单的js模板

    博客分类:
  • js
 
阅读更多

简单的js模板实现,不支持for循环和if判断哪些

<!doctype html>
<html>
<head>
   <meta charset=utf-8>
   <title>Simple Templating</title>
</head>
<body>
    <div id="content" style="border:1px solid red;"></div>
<script type="template" id="template">
    <h2>
      <a href="{{href}}">
        {{title}}
      </a>
    </h2>
    <img src="{{imgSrc}}" alt="{{title}}">
</script>


<script type="text/javascript">
    var data = [
        {
            title : 'php web appliaction',
            href : 'http://www.baidu.com',
            imgSrc : 'http://www.baidu.com'
        },
        {
            title : 'js 权威指南',
            href : 'http://www.qq.com',
            imgSrc : 'http://www.qq.com'
        }];
    var template = document.querySelector('#template').innerHTML;
    function _template(template, data){
        var i = 0,
            len = data.length,
            fragment = '';
        function replace(obj){
            var t, key, reg;
            for(key in obj){
                reg = new RegExp('{{' + key + '}}', 'ig');
                t = (t || template).replace(reg, obj[key]);
            }
            return t;
        }
        for(; i < len; i++){
            fragment += replace(data[i]);
        }
        return fragment;
    }
    console.log(_template(template, data));
	document.querySelector("#content").innerHTML=_template(template, data);
</script>

</body>
</html>

自己业务使用改进了下

/模板方法
function _temp(template, data){
    var i = 0,
        fragment = '';
    
    function status(v){
    	var str =v ;
    	if(v==0){
    		str="审批不通过";
    	}else if(v==1){
    		str="审批中";
    	}else if(v==2){
    		str="放款成功";
    	}else if(v==3){
    		str="放款失败";
    	}else if(v==4){
    		str="支付成功";
    	}else if(v==5){
    		str="支付失败";
    	}else if(v==6){
    		str="已受理";
    	}
    	return str;
    }
    
    function replace(obj){
        var t, key, reg,v;
        for(key in obj){
            reg = new RegExp('{{' + key + '}}', 'ig');
            if(key=="STATUS"){
            	v=status(obj[key]);
            }else if(key=='LOAN_DATE'){
            	v=new Date(obj[key]).format("yyyy-MM-dd hh:mm:ss");
            }else if(key=='LOAN_EXPIRE'){
            	v=new Date(obj[key]).format("yyyy-MM-dd");
            }else{
            	v=obj[key];
            }
            t = (t || template).replace(reg, v);
        }
        return t;
    }
        fragment += replace(data);
    return fragment;
}

  

 

 

分享到:
评论

相关推荐

    简单网页模板

    "MySite"这个文件名可能是整个网站的根目录,里面可能包含HTML文件(如index.html)、CSS文件(如style.css)、JavaScript文件(如script.js),以及其他如图像(images)、图标(icons)和字体(fonts)等资源...

    简单的template的js模板

    JavaScript模板在各种场景下都有广泛应用,如: - **服务器端渲染**:在Node.js环境中,可以使用模板引擎生成HTML响应。 - **客户端渲染**:在浏览器端,模板引擎可以用于AJAX请求后动态更新页面。 - **邮件模板**...

    简单小巧js模板引擎

    比较简单,又小巧的js模板引擎,非常好用的。

    简单JavaScript模板

    "简单JavaScript模板"这个主题聚焦于如何以简洁高效的方式实现这一目标,特别是在不改动现有代码结构的前提下。 在Web应用中,数据和视图的分离是关键,而JavaScript模板正好提供了这样的功能。模板引擎允许我们...

    js模板引擎从无到有

    本篇文章将深入探讨如何从零开始构建一个简单的JavaScript模板引擎,逐步改进并理解其核心原理。 首先,我们需要理解模板引擎的基本工作流程。模板引擎接受两部分输入:数据和模板。模板通常是一段包含占位符的HTML...

    js模板编译原理

    下面通过一个简单的例子来介绍JS模板的编译过程: ```javascript var tpl = 'Hei, my name is , and I\'m &lt;% age %&gt; years old.'; var data = { "name": "Barret Lee", "age": "20" }; var result = tplEngine...

    template.js模板

    总之,`template.js`作为一款轻量级的JavaScript模板引擎,提供了一种简便的方法来结合数据和HTML模板,从而生成动态网页内容。通过理解和掌握其核心概念和使用方式,开发者可以在Web开发中更高效地管理数据和视图。

    简单的前端模板引擎能实现最基本的数据渲染

    例如,Mustache和Handlebars是两个流行的JavaScript模板引擎,它们提供了丰富的语法结构,如`{{#if}}...{{/if}}`(条件判断)和`{{#each}}...{{/each}}`(循环遍历数组)。 总的来说,前端模板引擎是前端开发中不可...

    mustache.js v2.2.1强大的Javascript模板引擎

    mustache.js是一个简单强大的Javascript模板引擎,使用它可以简化在js代码中的html编写,压缩后只有9KB,非常值得在项目中使用。 本资源包含了mustache.js 、mustache.min.js包 版本号v2.2.1

    比较简单实用HTML模板

    在本主题中,我们主要探讨“比较简单实用HTML模板”的特点、用途以及如何使用。 一、HTML模板概述 HTML(HyperText Markup Language)是用于创建网页的标准标记语言,而HTML模板则是基于这些语法规则预先设计好的...

    简单JS页面视图模板

    在这个"简单JS页面视图模板"中,我们可以看到一个基本的JavaScript页面视图的实现,它结合了HTML、CSS和JavaScript来创建动态的用户体验。这篇博客文章通过一个实例展示了如何使用JavaScript来构建页面模板,尤其...

    css+html+js简单模板

    这个"css+html+js简单模板"提供了一个学习和实践这些技术的实例。让我们详细探讨一下这三个核心技术及其在网页开发中的作用。 首先,HTML(HyperText Markup Language)是构建网页内容的基本语言。它通过标签来定义...

    vegito支持JavaScript表达式简单微模板引擎

    Vegito是一个轻量级的JavaScript模板引擎,其设计目标是提供一种简洁、高效的机制,用于在Node.js和浏览器环境中动态生成HTML。由于其体积小巧,仅有463字节,Vegito成为了那些追求高性能且对文件大小有严格限制的...

    百度js模板的使用

    **百度js模板(Baidu Template)**是一种轻量级的JavaScript模板引擎,它主要用于Web开发中的数据绑定和渲染。在JavaScript中,模板引擎允许开发者将HTML结构与数据分离,使得前端展示逻辑更加清晰,便于维护和扩展...

    Javascript最简单的模板引擎

    总的来说,JavaScript模板引擎是提高前端开发效率的重要工具,它们通过分离数据和视图,使代码更具可读性和可维护性。开发者可以根据项目的需求,从众多模板引擎中挑选最适合的一个,以实现高效、优雅的动态内容渲染...

    Discuz! x2简单时尚模板.rar

    x2简单时尚模板.rar" 是一个专门为Discuz! X2论坛系统设计的模板压缩包,其主要目标是为网站提供一种简洁而时尚的外观设计,以提升用户界面的视觉体验和交互性。 Discuz! X2是一款广泛应用的开源社区论坛软件,由...

    mustache.js javascript模板引擎

    **Mustache.js:JavaScript模板引擎详解** Mustache.js,又称为mustache,是一款轻量级且功能强大的模板引擎,专为JavaScript设计。它遵循“逻辑less”的理念,将视图和数据分离,使得代码更易于理解和维护。...

    JS特效以及模板

    2. EJS:易于嵌入JavaScript代码,适合简单的动态渲染。 3. Mustache:遵循“logic-less”的原则,模板语法简洁,可跨语言使用。 4. Underscore.js和Lodash:除了提供模板功能,还包含大量实用的工具函数,帮助开发...

    纯js分页模板

    纯JavaScript分页模板是一种在网页应用中实现数据分页功能的方法,它不依赖任何外部库如jQuery或AngularJS,完全由原生JavaScript代码构建。这种模板通常包括一系列用于计算页码、显示当前页数、处理页码跳转事件...

Global site tag (gtag.js) - Google Analytics