Kendo UI 初始化 Data 属性

初始化 Data 属性

前面在介绍准备 Kendo UI 开发环境时我们使用 jQuery 的方法将一个  HTML 元素转换成一个 Kendo UI 控制项: $(“#datepicker”).kendoDatePicker();除了使用 jQuery 插件的方法来初始化方法外,每个 Kendo 控制项还可以通过 data 属性来初始化,此时你需要设置 data 的 role 属性,然后调用 kendo.init 方法。使用初始化 Data 属性的方法在页面上包含有大量 Kendo UI 控制项时非常便利。 首先, 组件的配置包含在目标元素中,第二无需首先查找每个元素然后调用 jQuery 方法,你只需调用一次 kendo.init()方法。Kendo UI Mobile 应用通常使用 Data 属性来初始化。

如下例使用 data 属性来初始化一个 UI 组件

<div id="container">
    <input data-role="numerictextbox" />
</div>
<script>
kendo.init($("#container"));
</script>

其中方法 kendo.init($(“#container”)) 会查找所有包含有 data-role 属性的元素,然后初始化这些 Kendo UI 组件。 每个 kendo UI 组件的 role 的值为该UI组件名称的小写名字,比如” autocomplete ”或” dropdownlist ”。

预设情况下,kendo.init 只会初始化 Kendo UI Web 组件和 Kendo UI DataViz 组件(按这个顺序)。 而 Kendo UIMobile 应用 首先初始 化Kendo UI Mobile 组件,然后是 Kendo UI Web 组件,最后是 Kendo UI DataViz 组件。 这意味著 data-role=”listview ” 在 Mobile 应用中会预设初始化为 Kendo UI Mobile Listview。 然而可以通过指明组件全称的方法在修改这个预设初始化顺序。比如:在 Mobile 应用中 指明使用 Kendo UI Web 的 listview

<div data-role="view">
    <!-- specify the Kendo UI Web ListView widget -->
    <div data-role="kendo.ui.ListView"></div>
</div>
<script>
var app = new kendo.mobile.Application();
</script>

配置

每个组件可以通过 Data 属性来进行配置,对于配置的属性,只需在属性名前加上 data-前缀就可以做为目标元素的属性进行配置。比如 data-delay=”100″。 对于一些使用 Camel-cased 的属性则是通过添加「-」 ,比如 AutoComplete 的 ignoreCase 的属性可以通过 data-ignore-case 来设置。而对于一些已经是使用 data 前缀的属性则无需再添加 data-前缀。比如 dataTextField 属性可以通过 data-text-field 属性来配置, dataSource 属性可以通过 data-source 属性来配置。对于一些複杂的配置可以通过 JavaScript 对象字面量来配置,比如:data-source=”{data: [{name: ‘John Doe’},{name: ‘Jane Doe’]}”.

如下例:

<div id="container">
    <input data-role="autocomplete"
        data-ignore-case="true"
           data-text-field="name"
        data-source="{data: [{name: ‘John Doe‘},{name: ‘Jane Doe‘}]}"
         />
</div>
<script>
    kendo.init($("#container"));
</script>

事件

你也可以通过 data 属性添加对 Kendo UI 组件的事件处理,属性的值被当成一个 JavaScript 函数,其作用域为全局。

如下例:

<div id="container">
    <input data-role="numerictextbox" data-change="numerictextbox_change" />
</div>
<script>
function numerictextbox_change(e) {
    // Handle the "change" event
}
kendo.init($("#container"));
</script>

事件处理函数也可以为一个成员函数,比如 foo.bar 可以看出为 foo 对象的 bar 方法。

例如:

<div id="container">
    <input data-role="numerictextbox" data-change="handler.numerictextbox_change" />
</div>
<script>
var handler = {
    numerictextbox_change: function (e) {
        // Handle the "change" event
    }
};
kendo.init($("#container"));
</script>

数据源

支持数据绑定的 UI 组件的数据源也可以通过 data-source 属性来指定。 这个属性可以 为一个 JavaScript 对象,一个数组或是一个全局变数。

例如:

使用 JavaScript 数组作为数据源。

<div id="container">
    <input data-role="autocomplete" data-source="{data:[‘One‘, ‘Two‘]}" />
</div>
<script>
kendo.init($("#container"));
</script>

使用 JavaScript 数组作为数据源。

<div id="container">
    <input data-role="autocomplete" data-source="[‘One‘, ‘Two‘]" />
</div>
<script>
kendo.init($("#container"));
</script>

使用一个可以全局访问的变数作为数据源。

<div id="container">
    <input data-role="autocomplete" data-source="dataSource" />
</div>
<script>
var dataSource = new kendo.data.DataSource( {
    data: [ "One", "Two" ]
});
kendo.init($("#container"));
</script>

模板

模板也可以通过 Data 属性来设置,属性的值代表用来定义模板的 Script 元素的 Id。比如:

<div id="container">
    <input data-role="autocomplete"
           data-source="[{firstName:‘John‘, lastName: ‘Doe‘}, {firstName:‘Jane‘, lastName: ‘Doe‘}]"
           data-text-field="firstName"
           data-template="template" />
</div>
<script id="template" type="text/x-kendo-template">
    <span>#: firstName # #: lastName #</span>
</script>
<script>
kendo.init($("#container"));
</script>

原文地址:https://www.cnblogs.com/miaosj/p/10361254.html

时间: 2024-08-03 21:13:02

Kendo UI 初始化 Data 属性的相关文章

Vue原理(一)——初始化data属性

let app = new Vue({ data: { text: "text", text2: "text2" } }) 第一步: 使用observe函数对Vue中的data对象进行处理,使其可观察(observable).这一步的实质就是使用Object.defineProperty方法重写data的属性,重写属性特征(主要指set和get两个属性特征函数,从而在获取属性值和设置属性值的时候插入额外的操作来实现视图中跟随数据变化): 了解Vue实例化过程做了什么

Kendo UI for jQuery使用教程:使用MVVM初始化(一)

[Kendo UI for jQuery最新试用版下载] Kendo UI目前最新提供Kendo UI for jQuery.Kendo UI for Angular.Kendo UI Support for React和Kendo UI Support for Vue四个控件.Kendo UI for jQuery是创建现代Web应用程序的最完整UI库. 您可以通过数据属性或基于自定义HTML属性初始化和配置每个Kendo UI小部件. Kendo UI混合应用程序.单页面应用程序(SPA)视

&lt;kendo UI&gt;第二篇:kendo UI基本控件的初始化

kendo UI控件的初始化有很多种方式,不过我习惯按钮和普通文本框采用在html代码里进行初始化,其余的比如下拉框.日期控件.表格,还有 一些比 较特殊的数字文本框之类的,我就习惯在jquery代码里进行初始化.我只写出几种常用控件的初始化,更多的控件初始化方式其实大同小异了,大家可以查阅 kendo的官方文档. kendo普通文本框的初始化: <input id="你的文本框ID" type="text" class="k-input k-tex

玩转Kendo UI:日期控件DatePicker(一)

---恢复内容开始--- 前言 因为工作原因,近来接触Kendo UI比较多,这期间利用它实现了一些功能,也遇到了一些坑,国内对于这个产品的介绍也不多,所以打算写一些文章,介绍一下Kendo UI,顺便记录下自己实现某些方案时遇到的问题及解决方案. Kendo UI 简介 Kendo UI是Progress软件公司旗下的一款UI工具包产品,具有灵活性强.控件丰富.功能强大等特点.目前工具包有支持jQuery.Angular.React.Vue等版本.由博主工作上只接触了jQuery版本,所以写文

Telerik Kendo UI 那点事【3】

中文化之后,我们开始具体使用kendo ui组件.经常开发系统的我,通常从最常用的控件用起,那就是表格控件GridView!现在的软件系统基本上就是标签框.文本框.选择框.树.表格堆砌而成.因此接触任何一种UI组件的时候,我通常都最为关注GridView,表格控件.小小的表格控件,做的好,能够给前端呈现和使用带来很好的感受的同时,还能够大幅度降低开发的工作量. Kendo UI在这方面让我十分满意,甚至是震惊.因为它的GridView不仅仅是能够简单的在呈现层进行数据的过滤.排序.分组,关键是还

Kendo UI常用示例汇总(三)

<Kendo UI Professional试用版下载> Kendo UI Professional 提供开源和商业两个版本.开源版 Kendo UI Core,有40+个框架和组件:商业版整合了之前的Kendo UI Web.Kendo UI Mobile 和 Kendo UI DataViz ,一共有70+个框架和组件.作为Kendo UI的升级版,Kendo UI Professional既可以开发网页版应用程序,也可以开发移动版应用程序,并且在性能上也有显著的优化和提升. Kendo

(一) kendo UI 数据绑定种类小结

====================autocomplete自动完成绑定 === === === $("#autocomplete").kendoAutoComplete(["Apples", "Oranges", "Grapes"]); 获取引用对象 var autocomplete = $("#autocomplete").data("kendoAutoComplete"); 该

kendo ui 实现MVVM

MVVM                    model----view model----model 实现页面和model之间的动态绑定 grid 支持 events  source  visible绑定 第一步建立一个observable对象   对象为参数 var viewModel = kendo.observable() 第二步实现视图与 viewModel绑定 kendo.bind($("#example"), viewModel); //jQuery对象 注意对某一属性

Kendo UI for jQuery使用教程:小部件DOM元素结构

[Kendo UI for jQuery最新试用版下载] Kendo UI目前最新提供Kendo UI for jQuery.Kendo UI for Angular.Kendo UI Support for React和Kendo UI Support for Vue四个控件.Kendo UI for jQuery是创建现代Web应用程序的最完整UI库. 所有Web Kendo UI小部件都保留对元素和封装DOM元素的引用,并且所有混合Kendo UI小部件仅保留对元素DOM元素的引用. el