juicer

github地址:https://github.com/PaulGuo/Juicer
引入juicer

1.变量${变量名}
这些变量名在后面都需要通过juicer(模板字符串,data)中的data对象进行传值,juicer会将模板和数据进行构建,返回已经完成的HTML字符串,然后通过DOM操作的innerHTML将字符串放入

2.过滤器
在前端接受数据的时候,我们经常会拿到一些无意义但方便存储的字符串,需要将这些无意义的字符串转换为用户可以看明白的字符串,这时候过滤器(管道)就很方便了.juicer的过滤器与vue的用法相同,变量 | 方法名 , 参数2,参数3…
举个栗子
page.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><script src="https://cdn.bootcss.com/juicer/0.6.15/juicer-min.js"></script>
</head>
<body><div id="pageA"></div><script>let xhr = new XMLHttpRequest();xhr.onreadystatechange=function(res){if(xhr.readyState==4&&xhr.status==200){let tpl = res.target.response;juicer.register('genderToString',value=>{if(value){switch(value){case 0 : return '女';break;case 1 : return '男';break;case 2 : return '保密';break;}}})console.log(juicer(tpl,{title:'一个假组件'}));document.getElementById('pageA').innerHTML=juicer(tpl,{title:'一个假组件',gender:2});}}xhr.open('get','../html1/tpl.html');xhr.send();</script>
</body>
</html>

tpl.html

<div>${title}</div>
<div>性别:${gender | genderToString}</div>

在使用过滤器的时候,要注意过滤器的方法都需要注册,即使用juicer.register(‘方法名’,函数),这样juicer才可以在渲染的时候调用这个方法.

3.if-else if-else
条件判断是开发中必不可少的一部分,
语法:

{@if 条件}html
{@else if 条件}html
{@else}html
{@/if}

4.循环,juicer的循环和平常的for和while循环不同,他的管检测是each

{@each 数组 as 元素,下标(下标可以省略)}
{@/each}

5.为循环增加的语法糖

{@each i in range(5,10)}${i}
{@/each}
{# 5,6,7,8,9}

6.注释
注释是开发必不可少的内容,方便自己下一次接上思路,也方便以后对代码的维护
{# 注释} 像是包了大括号的mysql注释
7.子模板嵌套
这个是作为菜鸡的我最不能理解的地方,在一个带id的script修改type属性为text/template,然后再通过{@include “#id名” ,data对象的变量名}获得script中写的内容,然后通过juicer(刚刚获取的内容,data对象)进行渲染…总的来讲,我是觉得的很鸡肋,script里面也不能帮我填充tagName啊,这样还不如模板字符串呢,然后最难受的是官方完整栗子里面,做好了所有的子模板嵌套的前置工作,用了个getElementById(‘id名’).innerHTML就拿到东西了,贼难受

juicer模板引擎学习相关推荐

  1. velocity(vm)模板引擎学习介绍及语法

    velocity模板引擎学习 velocity与freemaker.jstl并称为java web开发三大标签技术,而且velocity在codeplex上还有.net的移植版本NVelocity,( ...

  2. thymeleaf 获取yml中的值_Thymeleaf模板引擎学习

    开发传统Java WEB项目时,我们可以使用JSP页面模板语言,但是在SpringBoot中已经不推荐使用JSP页面进行页面渲染了.从而Thymeleaf提供了一个用于整合Spring MVC的可选模 ...

  3. Freemarker模板---引擎学习

    一.简要概述 Freemarker是一款模板引擎,是一种基于模版生成静态文件的通用工具,它是使用纯java编写的,一般用来生成HTML页面. 这段时间学习的主要是嵌套freemarker中的取值表达式 ...

  4. Volecity模板引擎学习笔记一

    最近项目中用到了volecity模板,这里做一下笔记,学习中...相比较 FreeMarker 而言,Velocity 更加简单.轻量级,但它的功能却没有 FreeMarker强大. 1,首先结合开发 ...

  5. Freemarker模板引擎学习,生成html里的动态表格,可合并单元格

    需求:现有html模板,需动态填充数据,并且包含表格,表格大小不固定,根据数据多少确定表格大小. 解析:两种方案: 1.java代码实现:将模板文件读出为StringBuffer,找到特定位置,循环生 ...

  6. Jinjia2模板引擎学习笔记

    Jinjia2 模板引擎 形式最简单的Jinjia2模板引擎就是一个包含响应文本的文件. 1渲染模板 默认情况下,flask在应用中的templates子目录里面寻找模板. flask提供的rende ...

  7. vue2.x---mustache模板引擎学习记录

    mustache模板引擎 1.什么是模板引擎 数据变为视图的方法 1.纯Dom法(非常笨拙,没有实战价值) 2.数组join法(曾经非常流行) 3.es6模板字符串法(ES6中新增的`${a}`语法糖 ...

  8. js模板引擎juicer嵌入html元素,juicer模板引擎使用

    页面模板 {&each ObjectData as it,index} ${it.UserId}${it.CreateTime} ${it.Explain} {&/each} // 调 ...

  9. Beetl 模板引擎学习

    名称 链接 Beetl官网 http://ibeetl.com/ Beetl 文档 http://ibeetl.com/guide/#/beetl/ BeetlSQL 文档 http://ibeetl ...

最新文章

  1. 在Ubuntu 16.04.5 LTS上利用python 2.7版本的pillow库拼接近千张图片实录
  2. Docker安全加固——利用LXCFS增强docker容器隔离性和资源可见性
  3. Dart.Powerweb.livecontrols应用
  4. gitlab mysql启动不了_gitlab不支持mysql,这就是我学习PostgreSQL的原因
  5. Easy UI中dategrid的getSelections方法只能获取一个id的解决办法
  6. vector中的reserve() 与 resize()
  7. 方舟进入服务器显示未知错误,服务器点进去后出错求解!急!
  8. JEECG社区招募新人啦
  9. 在Windows 2003 IIS 6.0中配置PHP的运行环境(图)
  10. 为什么微软账号被暂时停用_微软向Win10 20H2推出测试版更新KB4586853修复多种已知问题...
  11. 软件路由测试,软路由测试
  12. 利用条件运算符的嵌套来完成此题:学习成绩 =90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。...
  13. iOS UIWebView清除缓存
  14. java 上界和下界,Java 泛型上下界(上下限)
  15. 分布式数据库核心原理
  16. Cmake编译时无法打开包括文件: “pthread.h”
  17. 基于POP3协议收取邮件
  18. es java 模糊查询_java使用elasticsearch进行模糊查询之must使用-项目中实际使用
  19. win10电脑录教学视频的时候有回声或者通话的时候有回声,严重干扰录制效果,解决方式。...
  20. Google Test使用简介

热门文章

  1. 方差分析——联立区间估计
  2. ubuntu20.04更改为国内软件源
  3. taobao.ump.promotion.get( 商品优惠详情查询 )
  4. Faker库如何生成数据
  5. [Python图像识别] 五十.Keras构建AlexNet和CNN实现自定义数据集分类详解
  6. Go高并发微服务分布式实战
  7. Shell 数组变量
  8. Java接口回调详解
  9. 软件测试ca,Apache 2.0上 HTTPS 实现CA认证, 不是HTPASSWD的那种.
  10. linux平板系统下载官网,全新操作系统 JingOS Linux 上线 专为平板打造