如何获得模块化细节 - 旧版KendoUI Grid的模板

时间:2016-11-15 00:59:24

标签: javascript jquery angularjs kendo-ui telerik

好的一些背景知识。我们在Angular / Kendo环境中。但是,我们使用的是2014年第二季度的旧版KendoUI。这是什么意思?

  • 这意味着如果我们想要将详细信息模板与Kendo-Grid一起使用,那么我们就无法使用新的Angular Directive k-detail-template 。如果我们使用它,那么它就无法正确呈现为Kendo模板,因为它可以在此Dojo http://dojo.telerik.com/oMEvI/6上看到。如您所见,如果我们选择较新的库,则支持详细信息模板,但不支持较旧的库。但是,我们现在没有足够的时间来更新我们的剑道图书馆,所以我们需要找到一个替代我们拥有的旧学校图书馆。
  • 现在,我们的工作方式是使用它在经典JQuery中的使用方式,如Dojo中所示:http://dojo.telerik.com/otiqU

它有效并且到目前为止很好。但是,它本质上不是模块化的,它要求我在控制器中包含HTML模板,这不是最优雅的方式(至少在我看来)。我的问题是如何获得以下模板:

 detailTemplate: "<b>This is where all the details go</b>",

不是分配内联,而是来自一个单独的HTML视图,这样它就不会让我的控制器丢失不需要的HTML?

1 个答案:

答案 0 :(得分:2)

有两件事情浮现在脑海中。

 detailTemplate: kendo.template($("#myTemplate").html()),

或者

clientTemplateID="tmpGridViewItem",


<script type="text/x-kendo-tmpl" id="tmpGridViewItem">
    <div class="gridViewItem">
        <h3>#:ModelFieldValue#</h3>
    </div>
</script>

或者

 var templateContent = that._templates.divA;
 var template = kendo.template(templateContent);
 ...

 _templates: {
                divA: "<div style='position:absolute;'> <img src='#=data.imageUrl#' alt='Help' ></img></div>",
                divB: "<div style='position:absolute; ><img class='k-button' src='#=data.imageUrl#' alt='Help' ></img></div>"
            }