Atitit 模板引擎总结 目录 1. 模板引擎 1 2. 常见模板步骤 1 2.1. 1)定义模板字符串  1 2.2. 2)预编译模板  2 2.3. 渲染模板  2 3. 流程渲染 if el

本文详细介绍了Mustache.js模板引擎的使用方法,包括模板定义、预编译及渲染过程,特别关注if-else与foreach流程控制。适用于前端开发者快速上手。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Atitit 模板引擎总结

目录

1. 模板引擎 1

2. 常见模板步骤 1

2.1.  1)定义模板字符串  1

2.2. 2)预编译模板  2

2.3. 渲染模板  2

3. 流程渲染 if else  foreach 3

 

  1. 模板引擎
  2. 常见模板步骤

mustache的使用非常简单,先通过script标签引入它的js文件,然后按下面的步骤操作: 


    1. 1)定义模板字符串 


定义模板有2种方式,方式一就是在前面部分中看到的,直接用[...].join('')的方式在js代码中定义,方式二直接把模板内容用script定义在html中:

- Hide code

<script id="tpl" type="text/html">

    Hello {{name}}!</script>

然后在编译模板之前,通过获取tpl的innerHTML定义原始模板串:

- Hide code

var tpl = document.getElementById('tpl').innerHTML.trim();

具体要用哪种方式来定义模板,可以参考下面的建议: 
如果这个模板要用于多个页面,推荐把模板定义在js代码中;如果这个模板只用于当前页面,推荐直接定义到script标签中,管理更方便。 

    1. 2)预编译模板 


假设原始模板串已经定义好,并用tpl变量来引用,就可以通过下面的代码来预编译模板:

- Hide code

Mustache.parse(tpl);

要注意的是,经过预编译之后的tpl已经不再是原来的模板串了,连数据类型都变成数组类型了,这都是预编译的结果。 

    1. 渲染模板 


渲染方式很简单:

- Hide code

var htmlAfterRendered = Mustache.render(tpl1, obj);

obj引用的是一个数据源对象,mustache会把模板中那些属性标签,根据约定的规则,替换成对象的内容。htmlAfterRendered就是替换之后的字符串,你可以用它完成你需要的DOM操作。

  1. 流程渲染 if else  foreach
  1. if-else渲染2)for-each渲染

3) 动态渲染

当prop属性所引用的是一个函数,并且这个函数的返回值还是一个函数的话,mustache会再次调用这个返回的函数,并给它传递2个参数:text表示原来的模板内容,render表示mustache内部的执行渲染的对象,以便在这个函数内部可以通过这render对象,结合原来的模板内容,自定义渲染的逻辑,并把函数的返回值作为渲染结果(这个返回值渲染的逻辑跟{{prop}}标签完全一样):

 

Javascript模板引擎mustache.js详解 - 流云诸葛 - 博客园.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值