KendoUI模板引擎 - #号语法

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变量和表达式。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值