首页 > 其他分享 >模板引擎

模板引擎

时间:2022-09-29 23:35:20浏览次数:52  
标签:template replace 引擎 str var 模板

模板引擎的原理

  1. 正则与字符串操作

    • exec() 函数用于检索字符串中的正则表达式的匹配

      RegExpObject.exec(string)

    • 分组

      正则表达式提取自己想要的内容
      {{ name }}
      /{{ [a-zA-Z] }}/
    • 字符串的 replace 函数

      通过 replace 函数 将字符串中的一些字符替换成另一些字符
      str.replace()
    • 多次 replace

      var str = '<div>{{ name }} 今年 {{ age }} 岁</div>'
      var regExp = /{{ \s*([a-zA-Z])\s*}}/
      ​
      var patten = regExp(str)
      每一次操作,都需要提取操作
    • 使用 while 循环 replace

      不需要每次都进行提取的操作
    • replace 替换为真值

       

  2. 实现简易的模板引擎

    • 定义模板

    • 预调用模板引擎

      • 定义数据

        var data = {}
      • 调用模板引擎

        var htmlStr = template('tpl-news', data)
      • 渲染HTML结构

 

<script type="text/html" id="tpl-news">
    <!-- 定义模板内容 -->
</script>
<script>
    $(function(){
        var htmlStr = template('tpl-news', res);//res 需要引入模板内的数据
​
        template.defaule.imports.dateFormat = function(){} //定义一个过滤器
​
    })
</script>
 

标签:template,replace,引擎,str,var,模板
From: https://www.cnblogs.com/c0lmd0wn/p/16743488.html

相关文章

  • 模板:函数模板
    1模板的基础知识1.1模板的参数在技术文献中:parameter翻译成形参(formatparameter),argument翻译成实参(actualparameter).Atypeparametercanbeusedtoname......
  • 【模板】BM字符串匹配
    据说效率是KMP的\(3\sim4\)倍。主要利用坏字符和好后缀进行跳转来避免过多的匹配。这篇博客讲的很好,推荐大家看看。#include<iostream>#include<vector>#incl......
  • 模板建立
    模板建立步骤如果还没有建立一个组存储自己的模板,则先选择2(红框处)然后取个名字就好如果已经有组了,在自己建立的组内添加新模板1:后续快速生成使用的代码2:......
  • Django项目中的数据库引擎的修改注意点以及级联删除的设置
    2022-09-29问题描述:在“setting.py”的配置文件中修改数据库引擎中,将系统默认的"sqlite3"后缀改为了“sql”。出现问题。原因分析:  问题查看: 修改后:  ----......
  • Latex 如何写算法?推荐模板
    之前我已经在这篇文章总结了现有的算法包的区别。如果有选择苦难症的朋友可以考虑无脑使用以下模板来写算法。\usepackage[noend]{algpseudocode}#noend表示算法不显......
  • vue Excel导入,下载Excel模板,导出Excel
    vue Excel导入,下载Excel模板,导出Excel<template><divstyle="display:flex;"><el-button@click="handleDownload"class="button_searc......
  • 设计模式之模板方法模式
    在我们实际开发中,如果一个方法极其复杂时,如果我们将所有的逻辑写在一个方法中,那维护起来就很困难,要替换某些步骤时都要重新写,这样代码的扩展性就很差,当遇到这种情况就要考......
  • 【WPF 】ItemTemplateSelector模板选择器
    WPF的ItemsControl数据绑定中,有时会遇到绑定的数据源是多种类型,并且需要对不同类型使用不同的模板。这个时候就需要用到 ItemTemplateSelector。ItemTemplateSelector......
  • 【模板】可持久化Trie树
    理解了所谓⌈可持久化⌋的含义之后也就没多难了。\(\textrm{luoguP4735最大异或和}\)#include<iostream>constintN=3e5+10;structTRIE{ intsid[2]; intcn......
  • 2022国庆节手抄报模板简单又漂亮,可用手机打印出来
    2022年国庆节马上就要到了,相信有不少小学生的父母都在做同一件事情,这就是辅导孩子完成一张国庆节手抄报。有的父母或孩子是比较有画画天赋的,能够轻松完成一份庆祝国庆节的......