Kendo UI控件的初始化 - 好方法?

时间:2015-06-17 17:49:23

标签: javascript angularjs mvvm kendo-ui

在我的Web应用程序中,我使用Kendo UI Controls来实现前端控件和用户交互。大多数Web应用程序代码都是用java脚本编写的,因此一般的方法是转向客户端。

在Kendo UI演示网站上,我们有两种方法可以在使用MVVM模式和绑定时初始化kendo网格(作为示例控件,但这应该适用于其他控件):

1 /数据属性初始化 - 简洁的一部分示例

<div data-role="grid"
     date-scrollable="true"
     data-editable="true"
     data-toolbar="['create', 'save']"
     data-columns="[
                    { 'field': 'ProductName', 'width': 270 },
                    { 'field': 'UnitPrice' },
                   ]"
     data-bind="source: products, 
                visible: isVisible, events: { save: onSave }"
     style="width: 480px; height: 200px">
</div>

完整示例:http://demos.telerik.com/kendo-ui/grid/mvvm

2 /自定义绑定(角度方式) - 简洁的一部分示例

<div kendo-grid data-bind="options: mainGridOptions">
</div>

Javascript file - ViewModel/Controller - Scope ect...
.mainGridOptions = {
            dataSource: {
                type: "odata",
                transport: {
                    read: "<url...>"
                },
                pageSize: 5,
            },
            sortable: true,
            pageable: true,
            columns: [{
                field: "FirstName",
                title: "First Name",
                width: "120px"
                },{
                field: "LastName",
                title: "Last Name",
                width: "120px"
                },{
                field: "Country",
                width: "120px"
                }
            }]
        };

在网格的绑定中,我们传递此特定控件的所有必需选项。完全相似的角度示例:http://demos.telerik.com/kendo-ui/grid/angular

关于上述信息,我有以下问题:

  • 哪种方法更好,为什么? (代词和缺点) - 使用数据属性进行设置或将视图模型中的所有控件设置保存在js中并使用angular指令将其绑定到控件上?考虑到长期应用程序开发 - 支持工具和框架(即Typescript),控件的复杂设置
  • 这是一个坏主意还是打破MVVM模式,视图模型在初始化后包含了kendo对象,因此视图模型知道它背后的控件是什么?当然不是在所有情况下,但在我们需要在js中对我们的剑道控制做一些解决方法的情况下。在这种情况下,我们不需要使用jquery选择器来获取控件的数据,因为绑定将在初始化后为视图模型中的kendo控件提供参考。

这种方法是在Kendo Binding for Angular中实现的。

http:// www.telerik.com/blogs/a-few-angular-kendo-ui-best-practices - &gt;利用小组件参考

谢谢大家的反馈和答案。

0 个答案:

没有答案