KendoUI的模板引擎使用的语法叫做"#号语法(Hash Syntax)",主要用来完成两件事情:渲染数据和执行JS表达式。

从JS对象渲染数据到HTML模板

  • 使用等号渲染原始值 #= val #
  • 使用冒号渲染HTML编码值 #: val #
    两者的区别主要在于当数据值中包含HTML标签时,冒号方式会对值里的HTML标签进行转义,从而可以把标签作为字符串直接输出。
//uses #= #
var myTemplateRaw = kendo.template("<p>#= name #</p>");
var newHTMLRaw = myTemplateRaw({name:"<strong>Neo</strong>"});
console.log(newHTMLRaw); //<p><strong>Neo</strong></p>
$("#container").append(newHTMLRaw);//uses #: #
var myTempalteHTMLEncoded = kendo.template("<p>#: name #</p>");
var newHTMLEncoded = myTempalteHTMLEncoded({name:"<strong>Shelly</strong>"});
console.log(newHTMLEncoded); //<p>&lt;strong&gt;Shelly&lt;/strong&gt;</p>
$("#container").append(newHTMLEncoded);

页面效果:


执行JS表达式 # expression

示例1

<script type="text/x-kendo-template"><ul># for (var i = 0; i < data.length; i++) { #<li>#= data[i] #</li># } #<ul>
</script>

示例2

var template = "#if(foo) {# #= foo # is true #}#";

示例3

<script type="text/x-kendo-template">#if(isAdmin){#<li>#: name # is Admin</li>#}else{#<li>#: name # is User</li>#}#
</script>

无论是在行内模板中,还是在外部模板中,都可以使用JS变量和表达式。

KendoUI模板引擎 - #号语法相关推荐

  1. KendoUI模板引擎 - 概述

    基本用法 KendoUI模板引擎融合了包含"#号语法"(Hash Syntax, e.g. #= javascript property #) 的HTML和JS对象/数组,产生新的 ...

  2. velocity模板引擎-vm语法整理

    velocity模板引擎-vm语法整理 模板引擎我目前接触过两次, 第一次是在前后端还未分离时,考虑到部分页面数据比较固定,一定时间内不会变动,这样每次从后台加载数据渲染页面明显会消耗性能以及资源浪费 ...

  3. JAVA模板引擎velocity语法讲解

    Velocity 是一个基于 Java 的模板引擎,它允许用户使用简单的模板语言来引用由 Java 代码定义的对象.当 Velocity 应用于 Web 开发时,界面设计人员可以和 Java 程序开发 ...

  4. 模板引擎 Thymeleaf 语法

    模板引擎 Thymeleaf 1. Thymeleaf 简介 Thymeleaf[taɪm lif],百里香叶,是一个流行的模板引擎,该模板引擎采用 Java 语言开发.Java 中常见的模板引擎有 ...

  5. nunjucks 模板引擎常用语法学习总结

    文章目录 nunjucks模板引擎 nunjucks模板注释 koa-nunjucks-2的使用 nunjucks 插值语法 nunjucks 的判断语句 nunjucks 的循环语句 nunjuck ...

  6. KendoUI模板引擎 - 结合组件使用

    Kendo模板引擎的核心作用就是使用HTML模板对Kendo组件进行灵活补充,以丰富其表现形式.在组件实例化过程中,可以使用template及其相关配置项(e.g. valueTemplate)对组件 ...

  7. Thymeleaf模板引擎基本语法

    Thymeleaf是个XML/XHTML/HTML5模板引擎,可以用于Web与非Web应用. Thymeleaf的主要目标在于提供一种可被浏览器正确显示的.格式良好的模板创建方式,因此也可以用作静态建 ...

  8. FreeMarker Thymeleaf - 前端模板引擎

    FreeMarker 概述 FreeMarker是一种模板引擎(基于模板和要改变的数据),主要用于MVC中的view层,生成html展示数据给客户端,可以完全替代jsp 它不是面向最终用户的,而是一个 ...

  9. SpringBoot-web开发(三): 模板引擎Thymeleaf

    [SpringBoot-web系列]前文: SpringBoot-web开发(一): 静态资源的导入(源码分析) SpringBoot-web开发(二): 页面和图标定制(源码分析) 目录 1. 引入 ...

最新文章

  1. 卧槽,又来一个 Java 神器!!
  2. 如何让castle用connectionstring里的连接字符串?
  3. 基本算法--希尔排序
  4. 如何在命令行中使用jq将JSON转换为CSV
  5. 设计模式笔记(24)---访问者模式(行为型)
  6. 网络恶意营销账号猖獗,国家网信办出手了
  7. 年底圣诞促销,商家必备节日大促psd分层海报模板
  8. CentOS 7下载安装MySQL 5.7以及连接虚拟机CentOS 7数据库教程
  9. 普元 AppServer 7.0 如何添加第三方jar到AppServer里?
  10. queryDsl引入Mysql内置函数示例
  11. LintCode-颜色分类
  12. 卡巴斯基激活码无限量获取
  13. 嵌入式单片机基础篇(十九)之一般TFTLCD 模块的使用流程
  14. Python制作关键字云+情感分析图
  15. Qt捕获键盘按键消息
  16. 如何设置苹果手机铃声
  17. Android抽象任务管理框架QTaskManager及其使用方式介绍
  18. Redis expire
  19. html图片要存在哪里,将html中的图片和html保存在一个文件里
  20. 一些好看的color

热门文章

  1. 【kafka连载二】windows测试kafka的消息收发
  2. 微信小程序代码托管到GitHub
  3. accuracy_score ValueError: Classification metrics can‘t handle a mix of multiclass and cont
  4. mysql使用强制索引
  5. 14万天价找“游戏女陪玩”,表白被拒,男主起诉要求退还礼物费?
  6. powershell使用xming远程图形化linux安装软件
  7. canvas-小球碰壁折返
  8. [分布式][高并发]热点缓存的架构优化
  9. Android绘制圆形图片的方法
  10. Python 之 @property