template 模板

收藏535

阅读13806

更新时间2022-04-11

template 模板封装了第三方模板引擎 Mustache.js,可以访问Mustache.js 文档了解更多信息。本组件暂时只支持辅助其他组件完成模板渲染工作,直接使用不会渲染。

标题内容
所需脚本https://mipcache.bdstatic.com/static/v1/mip-mustache/mip-mustache.js

示例



Hello {{world}}!


/**
 * 组件脚本代码
 *
 * element {HTML node} HTML DOM 节点
 * data    {Object}    是传递给模板用来渲染的数据
 * html    {string}    编译后的 html 字符串
 */
var templates = require('templates');
templates.render(element, data).then(function (html) {
    element.innerHTML = html;
});

属性

type

说明:模板引擎类型
必选项:是
类型:字符串

Mustache 语法

基本使用

- data

{
    name: 'Chris',
    age: '15',
    sex: 'female'
}

- Template


  • name: {{name}}
  • age: {{age}}
  • sex: {{sex}}
  • sex: {{{sex}}}
  • sex: {{&sex}}
  • {{=<% %>=}}
  • sex: {{sex}}
  • <%={{ }}=%> - 编译后的 html
  • name: Chris
  • age: 15
  • sex: female</b>
  • sex: female
  • sex: 
  • sex: {{sex}}
  • 复杂data的使用

    - data
    
    {
        name: {
            first: 'Michael',
            last: 'Jackson'
        },
        age: '15'
    }
    
    - Template
    
    
    
  • name: {{name.first}} {{name.last}}
  • age: {{age}}
  • - 编译后的 html
  • name: Michael Jackson
  • age: 15
  • 对象数组

    - data
    
    {
        "stooges": [
            { "name": "Moe" },
            { "name": "Larry" },
            { "name": "Curly" }
        ]
    }
    
    - Template
    
    
    {{#stooges}}
    
  • {{name}}
  • {{/stooges}} - 编译后的 html
  • Moe
  • Larry
  • Curly
  • 一维数组

    - data
    
    {
        musketeers: ["Athos", "Aramis", "Porthos", "D'Artagnan"]
    }
    
    - Template
    
    
    {{#musketeers}}
    
  • {{.}}
  • {{/musketeers}} - 编译后的 html
  • Athos
  • Aramis
  • Porthos
  • D'Artagnan
  • 循环函数

    - data
    
    {
        "beatles": [
            { "firstName": "John", "lastName": "Lennon" },
            { "firstName": "Paul", "lastName": "McCartney" },
            { "firstName": "George", "lastName": "Harrison" },
            { "firstName": "Ringo", "lastName": "Starr" }
        ],
        "name": function () {
            return this.firstName + " " + this.lastName;
        }
    }
    
    - Template
    
    
    {{#beatles}}
    
  • {{name}}
  • {{/beatles}} - 编译后的 html
  • John Lennon
  • Paul McCartney
  • George Harrison
  • Ringo Starr
  • 函数

    - data
    
    {
      "name": "Tater",
      "bold": function () {
        return function (text, render) {
          return "" + render(text) + "";
        }
      }
    }
    
    - Template
    
    
    {{#bold}}Hi {{name}}.{{/bold}}
    
    
    - 编译后的 html
    
    Hi Tater.

    空数组的处理

    - data
    
    {
      "repos": []
    }
    
    - Template
    
    
    {{#repos}}
  • {{name}}
  • {{/repos}} {{^repos}}No repos !!{{/repos}} - 编译后的 html No repos !!

    可以访问Mustache.js 文档了解更多信息。

    相关

    视频

    RELATED VIDEOS

    更多

    免费

    Web前端开发极速入门
    初级 Web前端开发极速入门

    219920次学习

    收藏

    免费

    前端入门_HTML5
    初级 前端入门_HTML5

    616946次学习

    收藏

    免费

    30分钟学会网站布局
    初级 30分钟学会网站布局

    238440次学习

    收藏

    免费

    CSS视频教程-玉女心经版
    初级 CSS视频教程-玉女心经版

    393054次学习

    收藏

    免费

    独孤九贱(1)_HTML5视频教程

    免费

    独孤九贱(6)_jQuery视频教程

    免费

    独孤九贱(7)_Bootstrap视频教程

    免费

    独孤九贱(2)_CSS视频教程
    初级 独孤九贱(2)_CSS视频教程

    229605次学习

    收藏

    科技资讯

    更多

    精选课程

    更多
    前端入门_HTML5
    前端入门_HTML5

    共29课时

    61.7万人学习

    CSS视频教程-玉女心经版
    CSS视频教程-玉女心经版

    共25课时

    39.3万人学习

    JavaScript极速入门_玉女心经系列
    JavaScript极速入门_玉女心经系列

    共43课时

    71万人学习

    独孤九贱(1)_HTML5视频教程
    独孤九贱(1)_HTML5视频教程

    共25课时

    61.6万人学习

    独孤九贱(2)_CSS视频教程
    独孤九贱(2)_CSS视频教程

    共22课时

    23万人学习

    独孤九贱(3)_JavaScript视频教程
    独孤九贱(3)_JavaScript视频教程

    共28课时

    33.9万人学习

    独孤九贱(4)_PHP视频教程
    独孤九贱(4)_PHP视频教程

    共89课时

    125万人学习

    关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
    php中文网:公益在线php培训,帮助PHP学习者快速成长!
    关注服务号 技术交流群
    PHP中文网订阅号
    每天精选资源文章推送
    PHP中文网APP
    随时随地碎片化学习

    Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号