文章目录

  • 前言
  • 一、什么是模板引擎
    • 历史上曾经出现的数据变为视图的方法
  • 二、mustache的基本使用
    • 1.引入库
    • 2.循环对象数组
    • 3.不循环
    • 4.循环简单对象
  • 三、mustache的底层核心机理
    • 什么是tokens

前言

在学习vue之后,如何深入了解其作用机制,也是非常重要的。那么就从vue模板解析的初阶版本,及历史比较悠久的mustache开始了解其工作原理


提示:以下是本篇文章正文内容,下面案例可供参考

一、什么是模板引擎

随着前端业务的功能越来越复杂,用户的需求不再仅仅满足于静态页面,这时就需要获取数据,重新跟新页面的数据,那么就推动了模板引擎的出现。
模板引擎是将数据变为视图最优雅的解决方案(即数据驱动视图的思想

历史上曾经出现的数据变为视图的方法

纯DOM法 ----非常笨拙,没有实战价值(不推荐
数组join法 —曾经非常流行的方法,是前端必会的知识
ES6的反引号法 —类似于数组join法,只是ES6中新增了模板字符串,非常好用
模板引擎 —解决数据变为视图最优雅的方法。

二、mustache的基本使用

mustache的GitHub:https://github.com/janl/mustache.js 你也可以直接查看英文文档

mustache是最经典最早出现的模板解析库。它的底层实现机理在当时是非常具有创造性的,轰动性的。vue学习和借鉴了它。

1.引入库

可以通过boostcdn,com 找到镜像库,直接引入script标签中

2.循环对象数组

3.不循环

4.循环简单对象

三、mustache的底层核心机理

在较为简单的情况下可以采用正则表达式,但在较为复杂的模板解析时,是根本实现不了的

于是聪明的人类想出了下面的流程来处理

什么是tokens

tokens是JS的嵌套数组,就是模板字符串的JS表示

还有循环表示什么的,,,

把模板解析成tokens之后就可以与数据结合,解析为dom字符串了

最后附上视频讲解链接:https://www.bilibili.com/video/BV1EV411h79m?from=search&seid=9233343641661027239&spm_id_from=333.337.0.0

模板解析-mustache分析相关推荐

  1. Web模板引擎—Mustache

    Web模板引擎--Mustache 2012年9月12日 BY BELL·12 COMMENTS Web 模板引擎是为了使用户界面与业务数据(内容)分离而产生的,它可以生成特定格式的文档,通常是标准的 ...

  2. PHP模板解析对象,PHP模板解析类实例

    摘要:本文实例讲述了PHP模板解析类.分享给大家供大家参考.具体如下:<?php class template { private $vars = array(); private $conf  ...

  3. Javascript模板引擎mustache.js详解

    进阶之路在于日积月累, 每天进步一点点-加油~ mustache.js是一个简单强大的Javascript模板引擎,使用它可以简化在js代码中的html编写,压缩后只有9KB,非常值得在项目中使用. ...

  4. C++对象模型9——临时对象的生命周期、模板及实例化分析、内联函数

    一.临时对象的生命周期 T c=a+b 假设T是一个类型,那么上述代码执行时,首先会产生一个临时对象用来存放a+b的结果(拷贝初始化临时对象),然后用该临时对象拷贝初始化c,最后临时对象被释放.如果开 ...

  5. sdcms的模板解析引擎,一个非常简单和实用的CMS

    代码 <% '============================== 'SDCMS模板解析引擎 'Author:IT平民 'Date:2009年4-5月 '================ ...

  6. vmwear导出OVF模板解析(解决ovf导入服务器失败问题,虚拟机版本等)

    vmwear导出OVF模板解析(解决ovf导入服务器失败问题,虚拟机版本等) 参考文章: (1)vmwear导出OVF模板解析(解决ovf导入服务器失败问题,虚拟机版本等) (2)https://ww ...

  7. 【安全漏洞】Resin解析漏洞分析

    前言 前阵子看有师傅在公众号上发表了Resin解析漏洞分析,我们也知道有个常用的OA用的就是Resin,因此我认为了解它的漏洞是十分必要的. [学习资料] 原理分析 这个漏洞和IIS解析漏洞比较像,可 ...

  8. Django 3.2.5博客开发教程:实现模板之前的分析与准备

    在之前的体验django模板.体验数据查询以及一些常用的模板使用方法文章里,向大家介绍了如何将数据库的数据展现到网页上,和一些简单的模板使用方法.之后我们就开始实现各种页面的展现. 在此之前,我们先从 ...

  9. php 模板解析,关于模板的原理和解析

    PHP – 关于模板的原理和解析 将PHP代码和静态HTML代码进行分离,使代码的可读性和维护性得到显著提高. 使用模板引擎: 我们所说的模板是web模板,是主要由HTML标记组成的语言来编写的语言, ...

最新文章

  1. html表格重置标签,HTML——表格标签
  2. 分享一个帮助你在线测试响应式设计的web工具 - Screenqueri.es
  3. 微型计算机和接口技术考题,微型计算机接口技术以及应用考题
  4. sql server中的varchar和Nvarchar有什么区别?
  5. IBM小型机维护手册
  6. IE、FF CSS 兼容性、兼容浏览器的技巧 2
  7. 认识智慧城市顶层设计的MCS模式
  8. win10计算机加域步骤,关于win10加入域的的详细操作步骤
  9. 2020-12-28
  10. maven项目配置(图书管理系统v2配置)
  11. PS一些简单的非主流照片效果
  12. Unity的lookRotation和lookAt的区别理解,是什么意思。
  13. 如何解决谷歌浏览器网页不能复制与右键点击问题
  14. 「冰羚」— 撑起自动驾驶未来的“中间件”
  15. C语言万年历输出月份,C语言输出万年历
  16. 泛函分析笔记(二十一) 障碍问题
  17. 考研经验贴(一):什么可以让你考研坚持到底
  18. 【原】拯救你的机械硬盘!
  19. 人脸识别的关键技术及原理
  20. java:使用supervisor优雅的管理SpringBoot进程

热门文章

  1. Python-Flask微信小程序登录流程详解及后台实现
  2. 用51单片机c语言实现电磁炉功能,基于单片机电磁炉控制系统设计..doc
  3. android怎么监听多点触摸_Android开发中多点触摸的实现方法
  4. 几种常见算法的Python实现
  5. L1-033 出生年 (15 分)(简单解法)
  6. PR做片头:如何用PR做片头,如何用模板来制作片头?
  7. printshare连接打印机 ,打印word
  8. 分组聚合显示全部列_Power BI经典技巧:动态显示数据层级
  9. html5 3d在线网页,HTML5网页动画 3D旋转展示
  10. The Great Suspender功能介绍