[vue] 你知道vue的模板语法用的是哪个web模板引擎的吗?说说你对这模板引擎的理解

模板引擎:

负责组装数据,以另外一种形式或外观展现数据。
优点:

可维护性(后期改起来方便);
可扩展性(想要增加功能,增加需求方便);
开发效率提高(程序逻辑组织更好,调试方便);
看起来舒服(不容易写错)

解答

git地址: https://github.com/janl/mustache.js
模板引擎技术是非常有用的,所以它不是一个冷门的知识,反而是需要我们去了解的;
所以我们通过github的安装指令,一步一步的来实现基本的api
我搜查了很多资料,网上并没有一个使用npm包的方式来做demo,都是使用render来执行渲染,鉴于我们日常工作中使用npm比较多,我做一版npm的demo
首先npm init初始化一个空项目;
然后安装mustache

npm i mustache -s -d

在package.json中填写如下内容:

"scripts": {"build": "mustache dataView.json myTemplate.mustache>public/output.html",},

如同这个指示看到的一样,我们需要创建一个json文件,这个文件就是变量配置文件,还需要创建一个模板文件,这个模板文件相当于执行render函数的文件,这种方式更加一目了然;
我们创建它们,我使用了vscode,并且装了相关的mustache的插件,所以语法会有提示;

我们首先在json文件中写入一个对象,里面写一个值,然后在模板文件中使用{{}}来执行渲染;

然后执行

npm run build

就会发现在public下面生成了一个html文件,如果报错,说明你的文件目录跟我的不一样

我们在json文件中,写入了这么多值,有普通的值,有布尔值,有数组等等

"age": "19","html": "<p>123</p>","isTrue": true,"thisIsObject": {"name": "shenhao","age": "19"},"isArray": [{"name" : "shenhao"},{"name" : "shenhao"},{"name" : "shenhao"}]}

我们在模板中写出了这些代码,我在模板中写了一个简单的html

<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>Document</title></head><body>{{name}} 有一个 {{&html}}  <br><hr>{{thisIsObject.name}} {{thisIsObject.age}}<br><hr>-webkit- {{#isTrue}} 如果是真就显示了 {{/isTrue}}<br><hr>循环一下下面的内容, 如果是数组,可以用.来表示循环的每一个元素{{#isArray}} {{name}} {{/isArray}}<br><hr>{{!^}}与{{!#}}相反,如果变量是null、undefined、 false、和空数组讲输出结果</body></html>

我们来讲解一下基本的api

{{name}}:会在json中查询对应的值,并且渲染
{{&html}}: html在json中如果式一个html标签,可以用这样的方式进行转义 (类似vue中的v-html)
{{#boolean}} 和 {{/boolean}}: 是一个组合,如果boolean为真那么它们之间的内容会渲染,否则不会
{{^boolean}}: 和上面用法一样,只不过是上面的else
{{object.name}}: 同样支持对象键值对的方式获取
{{#array}} 和 {{/array}}: 如果这样写是一个数组,那么不仅有判断boolean的真假,它会迭代中间可以写迭代中的每一个元素,每一个元素可以用{{.}}来获取,如果要获取迭代中的内容是一个键值对,那么可以直接使用{{name}}

这就是mustache简单的用法,上面有demo,你们可以对着demo敲一遍就能非常easy的理解了;
希望理解了这个技术,你可以在其他语言同样可以用到它!

个人简介

我是歌谣,欢迎和大家一起交流前后端知识。放弃很容易,
但坚持一定很酷。欢迎大家发表自己的见解

主目录

与歌谣一起通关前端面试题

[vue] 你知道vue的模板语法用的是哪个web模板引擎的吗?说说你对这模板引擎的理解相关推荐

  1. django之:网页伪静态 JsonResponse form表单携带文件数据 CBV源码分析 模板语法传值 模板语法之过滤器 标签 自定义标签函数 过滤器、inclusion_tag模板的继承导入

    目录标题 一:网页伪静态 1.定义 2.如何实现 二:视图层 1.视图函数返回值问题 2.视图层返回json格式的数据 3.form表单携带文件数据 4.CBV源码分析 1.CBV和FBV: 2.CB ...

  2. Vue的模板语法学习

    模板语法 1.插值 a.文本 数据绑定最常见的形式就是使用 "Mustache" 语法(双大括号)的文本插值 我们在普通插值的时候无论何时,绑定的数据对象上 msg 属性发生了改变 ...

  3. Vue.js 模板语法

    模板语法 Vue.js 使用了基于 HTML 的模板语法,允许开发者声明式地将 DOM 绑定至底层 Vue 实例的数据.所有 Vue.js 的模板都是合法的 HTML ,所以能被遵循规范的浏览器和 H ...

  4. 4.Vue 模板语法

    Hello,我是 Alex 007,一个热爱计算机编程和硬件设计的小白,为啥是007呢?因为叫 Alex 的人太多了,再加上每天007的生活,Alex 007就诞生了. Vue模板语法 这篇文章我们来 ...

  5. vue加载时闪现模板语法-处理方法

    问题:使用VUE时,页面加载瞬间,会闪现模板语法,例如{{ item.name }}等 解决办法: 1.可以通过VUE内置的指令v-cloak解决这个问题(推荐) 具体实现: <ul v-clo ...

  6. (vue基础试炼_08)Vue模板语法

    文章目录 一.插值表达式 二.v-text 中不是字符串而是js表达式 三.v-html 四.js表达式,可以和字符串拼接 五.源码链接 一.插值表达式 <!DOCTYPE html> & ...

  7. Vue学习心得记录之模板语法

    下面是我这半年以来总结的Vue学习笔记,帮助自己复习学习Vue的基本用法.有需要的同志可以参考下. Vue的模板语法 Vue有很简单的模板语法,这些Vue指令用来响应式改变渲染DOM可以快速入门上手这 ...

  8. 用vue语法写html,Vue -- 模板语法

    Vue 模板语法 1.vue 和大多数后台语言,甚至是和art-template 这种前端模板库一样,都有一套,特定的语法来把数据渲染在html上. Mustache -- 大胡子语法 1.大胡子的语 ...

  9. Vue模板语法---vue工作笔记0003

    技术交流QQ群[JAVA,C++,Python,.NET,BigData,AI]:170933152 我们再去看一下vue的模板语法: 首先看看上一节看的那个mvvm的模型. 中间这个viewMode ...

最新文章

  1. 数据变金矿:一文读懂序列模型(附用例)
  2. java logback 使用_Java | Logback的使用配置
  3. Oracle等待事件之Latch Free
  4. ext.net TreePanel单击取值
  5. python中的代码复用与函数递归
  6. hana::detail::variadic::take用法的测试程序
  7. IntelliJ IDEA不好用?那是因为没掌握这些技巧
  8. 密码学系列之:内容嗅探
  9. 用ABAP代码读取S/4HANA生产订单工序明细 1
  10. 携程分销联盟-旅游度假接口实现1
  11. ②搭建GD32工程模板
  12. error LNK1123: failure during conversion to COFF: file invalid or corrupt
  13. 王小九用计算机弹桥边姑娘,抖音最火歌曲是哪首?QQ音乐开放平台《桥边姑娘》让“野狼”靠边站...
  14. MIMICIV数据库下载导入
  15. 下一代Web服务的基础框架——F2F俱乐部SOA系列活动
  16. TS OLT Internet业务和组播业务(multicast)配置指导
  17. Python OpenCV3 计算机视觉秘籍:1~5
  18. Kmeans 算法实例,入门必看!!!!
  19. Python入门基础篇 No.8 —— 时间的表示_unix时间点_毫秒_time模块
  20. 若依后台管理系统总结

热门文章

  1. python网络爬虫(5)BeautifulSoup的使用示范
  2. 读取字符串中的数字和小数
  3. TAppEncoder的main函数
  4. SSH之Hibernate总结篇
  5. MVC 3.0错误 HTTP 404您正在查找的资源(或者它的一个依赖项)可能已被移除,或其名称已更改,或暂时不可用。请检查以下 URL 并确保其拼写正确。...
  6. Designer设计无代码工作流
  7. VC小技巧(网上搜的)
  8. mysql怎样修改my ini_mysql修改my.ini报错怎么办
  9. python并行计算numpy_【Nature文章摘录】NumPy: 从单机到分布式并行计算
  10. flask 上传 excel 并导入mysql