美文网首页
Mustache 模板引擎

Mustache 模板引擎

作者: 雷雨leiyu | 来源:发表于2021-05-30 10:24 被阅读0次

mustache.js 是一个简单强大的 JavaScript 模板引擎,最新版本:https://www.bootcdn.cn/mustache.js/

1. Mustache模版引擎流程

1.1 第一步:定义模板字符串

// js直接定义
var template = ['<ul>', '<li>', '</li>', '</ul> ].join('');
// 或者
<script id="tpl" type="text/html">
    {{name}}
</script>
var template = document.getElementById('tpl').innerHTML.trim();

1.2 第二步:预编译模板

  • 使用静态函数Mustache.parse;
  • 预编译后的 template 已经不是原来的模板字符串了,连接数据类型都变成了数组类型;
Mustache.parse(template);

1.3 第三步:渲染模板

  • 使用 render 函数进行渲染;
  • mustache 会把模板中属性标签替换成与数据源对象属性名相同的属性值;
var rendered = Mustache.render(template, {name: "dennis"})

1.4 第四步:替换 DOM 内容

  • 将渲染后的数据挂载到DOM树上;

2. Mustache标签与语法

2.1 变量:{{prop}}

  • 默认情况下,在渲染该标签时,是对 prop 的原始值进行 URL 编码或者 HTML 编码之后再输出,若要阻止这种编码行为,应该使用 {{{prop}}};
  • 如果 prop 引用的值是 null 或 undefined,则渲染成空串;
  • 如果 prop 引用的是一个函数,则在渲染是自动执行这个函数,并把这个函数返回值作为渲染结果;
  • 其他场景,直接把 prop 引用的值转为字符串作为渲染结果;

2.2 带有 HTML 的变量:{{{arg}}}

2.3 动态渲染:{{#variable}} … {{/variable}}

  • 该标签可以同时完成 if-else 和 for-each 以及动态渲染的模板功能。在这对标签之间,可以定义其他模板内容,嵌套说有标签。
{
    "stooges":[
        {"name":"MOE"},
        {"name":"LARRY"}
    ]
}

{{#stooges}}
    {{name}}
{{/stooges}}

2.4 {{^variable}}…{{/variable}}

  • 这对标签,与{{#variable}} … {{/variable}}的 if-else 渲染执行相反逻辑,即只有在 variable 属性不存在或者引用的是一个 false 值,或者是一个空数组时才会显示标签之间的内容,否则不会显示。

2.5 注解:{{!注解}}

相关文章

  • Mustache 模板引擎

    mustache.js 是一个简单强大的 JavaScript 模板引擎,最新版本:https://www.boo...

  • 2019-07-15Mustache学习笔记

    Mustache学习笔记 Mustache 是一款基于javascript 实现的模板引擎,类似于 Microso...

  • 【资料】Mustache 语法基础

    1、Mustache 语法基础: Mustache 是一款「logic-less(轻逻辑)」的前端模板引擎,它原本...

  • mustache模板引擎入门

    版权声明:博客转载时,请标明本博客出处:http://www.jianshu.com/p/7dc036415d39...

  • mustache模板引擎原理

    模板引擎之前的时代 纯DOM法: 非常笨拙,没有实战价值 数组join法: 曾几何时非常流行,是曾经的前端必会知识...

  • Vue基础教程之-模板语法和计算属性(三)

    一、模板语法 1.1 内容 Vue中的元素内容使用mustache模板引擎进行解析。https://github....

  • GRMustache 的使用

    GRMustache 是用 Objective-C 编写的 Mustache 模板引擎,适用于 MacOS Coc...

  • Mustache

    Mustache 是一个前段的模型引擎。通过Mustache模板,我们再将所需要的数据往里面填充就可以得到相应的结...

  • 什么是Mustache?前端流行三大件基础

    Mustache 是一款经典的前端模板引擎,在前后端分离的技术架构中,前端模板引擎是一种可以被考虑的技术选型,随着...

  • Mustache

    Mustache 是一款经典的前端模板引擎,在前后端分离的技术架构下面,前端模板引擎是一种可以被考虑的技术选型,随...

网友评论

      本文标题:Mustache 模板引擎

      本文链接:https://www.haomeiwen.com/subject/xeypsltx.html