【问题标题】:Kendo template and field data not exist剑道模板和字段数据不存在
【发布时间】:2017-06-09 09:37:19
【问题描述】:

我有这个样本:

<ul id="users"></ul>

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

<script type="text/javascript">
    var templateContent = $("#myTemplate").html();
    var template = kendo.template(templateContent);

    //Create some dummy data
    var data = [
        { name: "John", isAdmin: false },
        { name: "Alex", isAdmin: true }
    ];

    var result = kendo.render(template, data); //render the template

    $("#users").html(result); //append the result to the page
</script>

我想知道是否有可能拥有一个不存在的数据并使用函数进行测试,但显然它不起作用....

var data = [
            { isAdmin: false },
            { isAdmin: true }
        ];

你有什么想法吗?

感谢您的帮助

【问题讨论】:

  • “它不起作用”,你这是什么意思?显示不正确,产生错误?这个dojo 为我工作..
  • 不,它不适用于此数据,例如 var data = [ { name: "John" }, { name: "Alex", isAdmin: true } ];
  • 您只需要通过模板提供一些数据验证,请参阅下面的答案..

标签: kendo-ui kendo-template


【解决方案1】:

为了确保在使用x-kendo-template时没有问题,请确保验证提供给模板的数据。

例如,如果您提供:

var data = [
  { name: "John" }, 
  { name: "Alex", isAdmin: true } 
];

对于模板,你可以修改template来检查如下:

<script type="text/x-kendo-template" id="myTemplate">
    #if(typeof(isAdmin) != "undefined" && isAdmin != null){#
      #if(isAdmin && name.length > 0){#
        <li>#: name # is Admin</li>
      #}else if(name.length > 0){#
        <li>#: name # is User</li>
      #} else {#
        <li>No name provided</li>
      #}#
    #}#
</script>

Dojo example 来证明这一点。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-30
    • 1970-01-01
    • 2015-01-19
    • 2014-10-10
    • 1970-01-01
    • 2016-06-06
    • 2013-01-28
    • 1970-01-01
    相关资源
    最近更新 更多