artTemplate 模板引擎(简洁语法/原生语法)

2023-11-16

1. artTemplate 简洁语法模板
(1)引入插件:
< script src = "template.js" ></ script >
(2)编写模板:
<script id="test" type="text/html">
<h1>{{title}}</h1>
<ul>
    {{each list as value i}}
        <li>索引 {{+ 1}} :{{value}}</li>
    {{/each}}
</ul>
</script>
(3)渲染数据:
var data = {
    title: '标签',
    list: ['文艺', '博客', '摄影', '电影', '民谣', '旅行', '吉他']
};
var html = template('test', data);
document.getElementById('content').innerHTML = html;
(4)简洁语法:
{{if admin}}
    {{include 'admin_content'}}
    {{each list}}
        <div>{{$index}}. {{$value.user}}</div>
    {{/each}}
{{/if}}
2. artTemplate 原生 js 模板语法版
(1)使用
在页面中引用模板引擎:
<script src = "template-native.js" ></script>
(2)表达式
<% %> 符号包裹起来的语句则为模板的逻辑表达式。
(3)输出表达式
对内容编码输出:
<%= content %>
不编码输出:
<%=# content %>
编码可以防止数据中含有 HTML 字符串,避免引起 XSS 攻击。
(4)逻辑
支持使用 js 原生语法:
<h1><%=title%></h1>
<ul>
    <%for(= 0; i < list.length; i ++) {%>
        <li>条目内容 <%=+ 1%> :<%=list[i]%></li>
    <%}%>
</ul>
注意:模板不能访问全局对象。
用于嵌入子模板:
<% include ( 'template_name' ) %>
子模板默认共享当前数据,亦可以指定数据:
<% include ( 'template_name' , news_list ) %>
(5)辅助方法(解决模板不能访问全局对象的问题)
使用  template.helper(name, callback) 注册公用辅助方法,例如一个访问全局变量jQuery的方法:
template.helper('getJquery', function () {
    return $;
});
模板中使用的方式:
<% getJquery ( ); %>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

artTemplate 模板引擎(简洁语法/原生语法) 的相关文章

  • Laravel 5.3 中 ajax POST 的最小工作示例

    有人可以用完整的最小示例解释 Laravel 5 3 中的 ajax post 方法吗 我知道网络上有一些资源 但我错过了一个简洁 直接的最小示例 我认为您对模型 控制器 视图范例有基本的了解 对 Laravel 有基本的了解 并对 Jav
  • 如何制作将 HTML 文件加载到 div 中的 XMLHttpRequest?

    我正在尝试做一个XMLHttpRequest从外部文件加载 HTML 并将文件内容插入到div 当我运行该函数时 它会在所有正文中插入 HTML 这是不够的 My code gt HTML
  • 强制ajax调用清除缓存

    我有一个 cms 可以在其中更改对象的位置 每次位置更改后 ajax 调用都会更新整个对象列表 但不幸的是 一些数据存储在缓存中 并且没有可见的更改 有没有办法用 javascript request other 强制清除缓存 我尝试过 缓
  • 如何根据所选类别隐藏 Django 表单中的字段?

    我需要确保当您添加新广告时 选择一个类别 隐藏表单中不必要的字段 我明白这是用JS做的 但暂时不太明白 所以我告诉你是否有人擅长 例如 我希望在选择 房屋和土地 时 舞台 消失 上市型号 class Listing models Model
  • 如何在twitter首页制作像热门推文那样的滚动新闻? (php)

    我想让一个网站使用 wp 并且我想在 twitter 主页中添加滚动新闻 例如热门推文 当自定义在我的页面的每个部分发布新回复时 新主题将显示在该滚动新闻部分中 它们都来自数据库的最新10条 怎么做 谢谢 使用 Jquery 您可以使 di
  • Laravel 中的 PATCH Ajax 请求

    是否可以向 Laravel 发出 Ajax PATCH 请求 或者我是否仅限于 POST Laravel 在输入隐藏字段中使用 PATCH 但是 我没有使用表单元素 只是在单击时 通过 Ajax 请求 应该部分更新记录的按钮 这条路线会是什
  • 如何防止点击 时页面刷新

    我试图在用户单击时阻止页面刷新
  • AJAX列表更新,获取新元素并计数

    我有这个 HTML 列表 ul li class username John li li class username Mark li ul 以及通过 AJAX 添加新名称的表单 多个添加以逗号分隔 响应是一个包含名称的列表 name Da
  • 仅在图像加载后应用 jQuery 瀑布“回流”

    我正在使用 jQuery 瀑布来显示网格样式 为了阻止常见的图像重叠问题 我将瀑布方法包装在 load 函数中 例如 window load function buildcontainer waterfall colMinWidth 260
  • 使用 Laravel 在 Bootstrap 模式中动态加载表单

    我正在开发应用程序 它需要引导模式中的表单 并且还动态加载表单 我面临的问题是所有页面都再次以模式加载 这里有人为此提供任何例子吗 控制器 public function loadJsModalForm return View make f
  • onchange 使用 radioChoice 获取当前值

    我尝试使用 radioChoice onChange 从无线电表单中获取选定的值 但似乎无法真正找到解决方案 onEvent 函数被调用 但从这里我不太确定如何获取该值 Code RadioChoice
  • jquery ajax错误回调

    我在这里需要一些建议或者一些解释 我有一个 jquery ajax 调用 ajax type GET url base url ajax fetch counts dataType json data error function xhr
  • 在 Chrome/Safari 中添加 html5 属性后 Ajax 表单中断

    分步说明 新建 Asp Net MVC2 项目 Model public class TestModel public int Property get set 家庭控制器 HandleError public class HomeCont
  • 如何向 JSF 应用程序发送手动 jQuery Ajax 请求?

    我正在做一个POST 使用 jQuery 的请求似乎成功了 但是我如何在服务器端使用它并修改响应 我是否需要另一个 servlet 因为 Faces Servlet 不是为处理这个问题而设计的 ajax type POST data sta
  • 未捕获的类型错误:无法读取未定义的属性“toLowerCase”

    我收到此错误 它源自 jquery 框架 当我尝试加载准备好的文档上的选择列表时 出现此错误 我似乎无法找到为什么会出现此错误 它适用于更改事件 但在尝试手动执行该函数时出现错误 未捕获的类型错误 无法读取未定义的属性 toLowerCas
  • 将多个对象传递给我的控制器

    我将一个对象传递给我的控制器 如下所示 var form JSON stringify subRevisedRequest frmRevised val subSubcontractor frmSubcontractor val subDe
  • WooCommerce 使用 AJAX 设置购物车数量?

    我已经为此绞尽脑汁好几天了 需要一些指导 我正在为 WooCommerce 网站完全从头开始制作自定义主题 现在我正在尝试让购物车功能正常工作 我一直试图使用按钮 来更新购物车中产品的数量 对我来说问题似乎是WC 我在functions p
  • 自动完成仅显示消息并且结果可用,使用向上和向下箭头键进行导航。而是显示列表

    我的问题很清楚 我正在使用 jquery 自动完成 我不知道为什么它只向我显示消息 9 results are available use up and down arrow keys to navigate 没有向我显示结果列表 这是我的
  • 创建动态多维对象/数组

    我正在尝试使用 JS 创建一个多维数组 以便我可以通过 Ajax 调用 PHP 来发布一些数据 这可能很简单 但我对 JS 的了解很少关于这个具体的事情 这是带有代码的 JSFiddle http jsfiddle net k5Q3p 我想
  • 从 HTTP 登录到 HTTPS

    我的网站默认使用 HTTP 我确实有一个启用 HTTPS 的证书 但只有其上的某些区域强制建立安全连接 登录是通过 Ajax 处理的 我想开始使用 SSL 即使请求来自 HTTP 我尝试强制请求的地址具有 HTTPS 并且它完美地回复 然而

随机推荐

  • java线上CPU100%如何排查

    定位耗费CPU的进程 top c 就可以显示进程列表 然后输入P 按照cpu使用率排序 你会看到类似下面的东西 2 定位耗费CPU的线程 top Hp 1500 就是输入那个进程id就好了 然后输入P 按照cpu使用率排序 你会看到类型下面
  • 单片机c语言数码管显示0到9,单片机如何让8个数码管同时流水显示0到9,大家帮我看看!...

    按你的要求修改如下 include reg52 h 此文件中定义了单片机的一些特殊功能寄存器 typedef unsigned int u16 对数据类型进行声明定义 typedef unsigned char u8 sbit LSA P2
  • Java 网络编程UDP协议之发送数据和接收数据的详解

    博主前些天发现了一个巨牛的人工智能学习网站 通俗易懂 风趣幽默 忍不住也分享一下给大家 点击跳转到网站 UDP协议 用户数据报协议 User Datagram Protocol UDP是无连接通信协议 即在数据传输时 数据的发送端和接收端不
  • 《信号与系统》4.10.2工频干扰的滤除

    平台 版本 Multisim14 1 参考书籍 信号与系统 4 10 2工频干扰的滤除 工程上 滤除工频干扰比较常用的电路是无源双T陷波滤波器 图示双T的无源陷波滤波器电路 陷波器是某一小频率范围内的带阻滤波器 陷波器的一个常见的应用是滤除
  • Seaborn入门详细教程

    作者 luanhz 来源 小数志 Seaborn入门详细教程 导读 今天我们来介绍 seaborn 这是一个基于matplotlib进行高级封装的可视化库 相比之下 绘制图表更为集成化 绘图风格具有更高的定制性 教程目录 01 初始seab
  • 一文带你了解序列化与反序列化基本原理与操作

    文章目录 一 什么是序列化与反序列化 二 为什么我们需要序列化与反序列化 三 步骤说明 四 注意说明 五 代码说明 六 序列化与反序列化原理 一 什么是序列化与反序列化 序列化是指将对象转换为字节序列的过程 以便于存储或传输 在序列化过程中
  • torch的交叉熵损失函数(cross_entropy)计算(含python代码)

    1 调用 首先 torch的交叉熵损失函数调用方式为 torch nn functional cross entropy input target weight None size average None ignore index 100
  • idea 配置log4j

    1 导入log4j jar包 放在lib目录下 右键jar包 createlibrary 好像是 还有一种方法 2 配置log4j properties文件 设置输出信息 DEBUG级别和ERROR级别 log4j rootLogger d
  • 【图像检测】基于计算机视觉和滤波实现热红外图像温度检测系统含Matlab源码

    1 简介 读入给定的热红外图像 完成彩色图像灰度化 对步骤1中的灰色图像加噪 并采用不同的方法对不同的加噪图像去噪 使得去噪效果更佳 基于灰度图像中标准温度对照带 提取图像中各像素的温度值 2 部分代码 function varargout
  • Keras-多输入多输出【多任务】

    模型结果设计 代码 from keras import Input Model from keras layers import Dense Concatenate import numpy as np from keras utils i
  • Reid 论文文章

    Reid 论文探索 Harmonious Attention Network for Person Re Identification 着重在空间注意力和通道注意力上 结构设计比较巧妙 通过global和local的两级将特征细化 参考链接
  • [QT_027]Qt学习之按钮类控件(QPushButton、QToolButton、QRadioButton、QCheckBox、QCommandLinkButton)

    本文转自 Qt编程指南 作者 奇先生 Qt编程指南 Qt新手教程 Qt Programming Guide 5 1 按钮类的控件 本节介绍图形程序里常见的按钮 包括普通的按钮按钮 之前都用过多次了 还有单选按钮 复选框 命令链接按钮等 本节
  • 【python】jupyter notebook的快捷键

    Jupyter Notebook 提供了许多快捷键以方便操作 这些快捷键分为两类 命令模式快捷键和编辑模式快捷键 命令模式快捷键 在命令模式下 细胞边框是蓝色的 这些快捷键主要用于操作单元格 Enter 进入编辑模式 Shift Enter
  • NoSQL数据库如何选型

    NoSQL数据库在体系结构和功能上各不相同 整体来说 NoSQL数据库选型需要从数据模型和存储特性两方面综合考虑 一 数据模型 NoSQL数据模型包括键值 宽列 图形 文档等 与关系型数据库使用的数据结构不同 具有高扩展性 弱一致性 适合分
  • Ozone作为Hadoop FileSystem的配置使用

    文章目录 前言 Ozone FileSystem的Hadoop兼容性文件系统实现原理 Ozone FileSystem的配置 Ozone FileSystem的使用 引用 前言 Ozone作为同样隶属于Hadoop大数据生态圈的一个系统 尽
  • Dynamics CRM 365 电子邮箱配置

    Dynamics CRM 365 如何配置电子邮箱服务 电子邮件服务器配置 电子邮件配置设置 邮箱 注意 天天在踩坑 坑坑不一样 启用CRM的电子邮箱通知 1 先配置电子邮件服务器文件 2 在电子邮件配置中设置好相关属性配置 3 在邮箱中设
  • NPOI从数据库中调取数据直接导出到EXCEL中

    https blog csdn net weixin 30725315 article details 98769248 一 关于NPOI NPOI是POI项目的 NET版本 是由 Tony Qu http tonyqus cnblogs
  • 证明正定矩阵的充要条件:全部顺序主子式大于0

    定理 f x T A x f x TAx f xTAx 正定的充要条件是
  • ChatGLM-6B,支持在单张消费级显卡上进行推理使用 案例

    近日 由清华技术成果转化的公司智谱AI 开源了 GLM 系列模型的新成员 中英双语对话模型 ChatGLM 6B 支持在单张消费级显卡上进行推理使用 这是继此前开源 GLM 130B 千亿基座模型之后 智谱AI 再次推出大模型方向的研究成果
  • artTemplate 模板引擎(简洁语法/原生语法)

    1 artTemplate 简洁语法模板 1 引入插件 lt script src template js gt 2 编写模板