位置: 编程技术 - 正文

探究Javascript模板引擎mustache.js使用方法(js设计模式和开发实践)

编辑:rootadmin

推荐整理分享探究Javascript模板引擎mustache.js使用方法(js设计模式和开发实践),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:javascript模版,javascript modules,js模拟实现new,javascript模块,javascript modules,js设计模式与开发实践,module javascript,javascript模块,内容如对您有帮助,希望把文章链接给更多的朋友!

我们将为大家详解Mustache.js轻量级JavaScript模版引擎使用方法。

简单示例

可以很明显的看出Mustache模板的语法,只需要使用{{和}}包含起来就可以了,里面放上对象的名称。

通过本示例也可以看出,如果指定的属性为函数的时候,不会输出函数里面的内容,而是先执行函数,然后将返回的结果显示出来。

不转义HTML标签

通过这个示例可以看出Mustache默认是会将值里面的html标记进行转义的,但是有时候我们并不需要。

所以这里我们可以使用{{{和}}}包含起来,或者是{{和}}包含,那么Mustache就不会转义里面的html标记。

绑定子属性的值

相信看到第一个示例的时候,就会有人想到能不能绑定子属性,如果你努力看下去了。那么祝贺你,现在就是解决你的需求的方式,仅仅只需要通过.来使用子属性即可。

条件式选择是否渲染指定部分

问题总是不断,如果我们还需要能够根据我们给的值,决定是否渲染某个部分,那么现在就可以解决这个问题,当然还要提示的就是不仅仅是false会导致不渲染指定部分。

null,空数组,0,空字符串一样有效。语法上面比较简单,就是使用{{#key}} ... {{/key}}来控制中间的内容。

循环输出

仅仅学会上面的方式,大部分地方你都解决了,但是还是会出现麻烦的地方,就是循环输出,如果你一个一个写,相信会很烦躁,当然Mustache不会让我们失望,它也给出了如何循环输出的方式,这里是将一个由对象组成的数组输出,如果我们输出的是数组,就需要使用{{.}}来替代{{name}}。

探究Javascript模板引擎mustache.js使用方法(js设计模式和开发实践)

循环输出指定函数处理后返回的值

循环输出是有了,但是我们还想后期进行加工。那么这个完全符合你的需要,因为Mustache会将数组中的值传递给你的函数,输出你函数返回的值。这里我们可以看到最外层是数组,只要在里面使用函数那么外层的数组就会作为这个函数的参数传递进去。

自定义函数

上面我们都是用的变量作为节,那么我们现在用函数作为节,会有什么效果呢。

它会调用我们函数返回的函数,将节中间的原始字符串作为第一个参数,默认的解释器作为第二个参数,那么我们就可以自行加工。

反义节

上面我们也用节,但是仅仅只能选择是否输出某个部分。所以这里我们弥补一下。

如果我们使用了{{^和}}来定义节的话,那么这个部分只会在里面的值为空,null,空数组,空字符串的时候才会显示。那么我们就可以实现了if else的效果了。

部分模板

Mustache虽然节约了很多时间,但是我们定义了很多模板,但是彼此之间无法互相嵌套使用,也会造成繁琐。

所以这里我们还要介绍如何定义部分模板,用来在其他模板里面使用,这里使用其他模板的方式仅仅是{{>templetename}}。

最大的不同就是Mustache.render方法有了第三个参数。

预编译模板

模板既然有好处,也有坏处。就是编译模板需要时间,所以在我们已知会使用某个模板的前提下,我们可以预先编译好这个模板,以便后面的使用。

希望本文所述对大家学习有所帮助。

JS实现简单的二维矩阵乘积运算 本文实例讲述了JS实现简单的二维矩阵乘积运算方法。分享给大家供大家参考,具体如下:Console控制台截图如下:(上图为输出结果直接上代码了(A矩阵

js实现的页面矩阵图形变换特效 本文实例讲述了js实现的页面矩阵图形变换特效。分享给大家供大家参考,具体如下:运行效果截图如下:具体代码如下:!DOCTYPEhtmlhtmlheadmetahttp-equiv="Con

基于canvas实现的钟摆效果完整实例 本文实例讲述了基于canvas实现的钟摆效果。分享给大家供大家参考,具体如下:运行效果截图如下:具体代码如下:!DOCTYPEhtmlhtmlheadtitledemo/titlestyletype="t

标签: js设计模式和开发实践

本文链接地址:https://www.jiuchutong.com/biancheng/382789.html 转载请保留说明!

上一篇:一篇文章掌握RequireJS常用知识(一篇文章的)

下一篇:JS实现简单的二维矩阵乘积运算(用js实现类的方法)

  • 小规模升级为一般人后之前取得的增值税专用发票抵扣
  • 税务一证通
  • 筹建期间的会计分录
  • 税金及附加要计入本年利润吗
  • 小规模季报利润表本月金额和本年累计金额
  • 免税是不是不用交税
  • 软件企业两免三减半备案条件
  • 普通折叠发票代码是几位数
  • 纳税人经营所得预缴申报表怎么填
  • 企业发生的技术转让费应计入
  • 预付费卡税务处理
  • 公司车子的保养费怎么算
  • 车辆购置税多少?
  • 物流快递代收货款怎么退
  • 冲减留抵税会计分录
  • 货样广告品出口需要开票吗
  • 记账时显示期初未建账
  • 没有外管证就开具了发票
  • 合同印花税进哪个科目
  • 个体工商户税务登记证需要什么资料
  • 营改增后固定资产进项税抵扣规定
  • 金税盘开票出现离线发票金额超出限制怎么设置?
  • 买卖交什么税
  • 关联方之间借款利息怎么开票
  • 客户回款扣除的费用
  • 大沙丘国家公园在哪里
  • 账户验证因姓名验证错误导致失败
  • 付款凭证怎么填写电脑
  • gba是什么文件
  • 如何理解什么是社会制度
  • 固定资产减值准备可以转回吗
  • php使用for循环计算1到100的奇数和
  • 计提的附加税
  • python tkinter详解
  • 租入固定资产改良
  • 员工体检费计入福利费吗
  • 收取违约金能作为合同自动终止要件吗
  • 包装物押金属于应税货物吗
  • 个税汇算清缴时劳务报酬怎么计税
  • 公司盖厂房没有票要交税吗?
  • python里的idle在哪
  • PostgreSQL中常用的时间日期脚本使用教程
  • 研发费用资本化条件有哪些
  • 长期股权投资其他债券投资公允价值变动
  • 商品编码原则是指什么
  • 装修工程是可以做什么的
  • mysql 索引 key
  • 收到进账发票分录
  • 预算会计与企业会计的区别感悟
  • 发票冲红重开摘要如何写合适?
  • 网上报税有没有时间限制
  • 普通发票可以开多少税率
  • 业务招待费占管理费用的多少算合适
  • 小规模纳税人开专票税率是多少?
  • 个别会计报表和合并会计报表
  • 金税盘税费减免分录
  • 税前扣除项目主要包括
  • 销项发票导出为什么是乱码
  • 哪些资产减值损失一经计提不得转回
  • 序时账是明细账吗
  • sql语句查询有多少条数据
  • window系统怎么用
  • winxp系统如何安装
  • ubuntu rhythmbox乱码解决方法
  • CentOS yum php mcrypt 扩展安装方法
  • win10周年纪念版
  • linux修改计算机主机名和用户名
  • linux系统编译命令
  • windos8怎么样
  • win8快速启动怎么开启
  • 用javascript
  • android activity回调函数
  • shell实现自动ssh
  • ug输入代码
  • Unity3D游戏开发毕业论文
  • winpe文件下载
  • 2022河南省地方专项计划分数线
  • 进口消费税怎么入账
  • 社保扣费为什么忽高忽低
  • 卖钢材交哪些税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设