初始化 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 组件

  1. <div id="container">
  2. <input data-role="numerictextbox" />
  3. </div>
  4. <script>
  5. kendo.init($("#container"));
  6. </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

  1. <div data-role="view">
  2. <!-- specify the Kendo UI Web ListView widget -->
  3. <div data-role="kendo.ui.ListView"></div>
  4. </div>
  5. <script>
  6. var app = new kendo.mobile.Application();
  7. </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’]}”.

如下例:

  1. <div id="container">
  2. <input data-role="autocomplete"
  3. data-ignore-case="true"
  4. data-text-field="name"
  5. data-source="{data: [{name: 'John Doe'},{name: 'Jane Doe'}]}"
  6. />
  7. </div>
  8. <script>
  9. kendo.init($("#container"));
  10. </script>

事件

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

如下例:

  1. <div id="container">
  2. <input data-role="numerictextbox" data-change="numerictextbox_change" />
  3. </div>
  4. <script>
  5. function numerictextbox_change(e) {
  6. // Handle the "change" event
  7. }
  8. kendo.init($("#container"));
  9. </script>

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

例如:

  1. <div id="container">
  2. <input data-role="numerictextbox" data-change="handler.numerictextbox_change" />
  3. </div>
  4. <script>
  5. var handler = {
  6. numerictextbox_change: function (e) {
  7. // Handle the "change" event
  8. }
  9. };
  10. kendo.init($("#container"));
  11. </script>

数据源

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

例如:

使用 JavaScript 数组作为数据源。

  1. <div id="container">
  2. <input data-role="autocomplete" data-source="{data:['One', 'Two']}" />
  3. </div>
  4. <script>
  5. kendo.init($("#container"));
  6. </script>

使用 JavaScript 数组作为数据源。

  1. <div id="container">
  2. <input data-role="autocomplete" data-source="['One', 'Two']" />
  3. </div>
  4. <script>
  5. kendo.init($("#container"));
  6. </script>

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

  1. <div id="container">
  2. <input data-role="autocomplete" data-source="dataSource" />
  3. </div>
  4. <script>
  5. var dataSource = new kendo.data.DataSource( {
  6. data: [ "One", "Two" ]
  7. });
  8. kendo.init($("#container"));
  9. </script>

模板

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

  1. <div id="container">
  2. <input data-role="autocomplete"
  3. data-source="[{firstName:'John', lastName: 'Doe'}, {firstName:'Jane', lastName: 'Doe'}]"
  4. data-text-field="firstName"
  5. data-template="template" />
  6. </div>
  7. <script id="template" type="text/x-kendo-template">
  8. <span>#: firstName # #: lastName #</span>
  9. </script>
  10. <script>
  11. kendo.init($("#container"));
  12. </script>

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

  1. [置顶] Kendo UI开发教程: Kendo UI 示例及总结

    前面基本介绍完Kendo UI开发的基本概念和开发步骤,Kendo UI的示例网站为http://demos.kendoui.com/ ,包含了三个部分 Web DemoMobile DemoData ...

  2. Kendo UI for jQuery使用教程:使用MVVM初始化(二)

    [Kendo UI for jQuery最新试用版下载] Kendo UI目前最新提供Kendo UI for jQuery.Kendo UI for Angular.Kendo UI Support ...

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

    [Kendo UI for jQuery最新试用版下载] Kendo UI目前最新提供Kendo UI for jQuery.Kendo UI for Angular.Kendo UI Support ...

  4. Kendo UI for jQuery使用教程:初始化jQuery插件

    [Kendo UI for jQuery最新试用版下载] Kendo UI目前最新提供Kendo UI for jQuery.Kendo UI for Angular.Kendo UI Support ...

  5. JS组件系列——使用HTML标签的data属性初始化JS组件

    前言:最近使用bootstrap组件的时候发现一个易用性问题,很多简单的组件初始化都需要在JS里面写很多的初始化代码,比如一个简单的select标签,因为仅仅只是需要从后台获取数据填充到option里 ...

  6. Kendo UI 使用小知识点汇总

    本攻略适用于了解的kendo UI 的基本语法的人使用.如果还不了解Kendo UI的基本语法,请大力观摹Demo ,并自己动用写几个控件. 1.获取Kendo UI的控件实体,不必存成全局变量.   ...

  7. Web UI开发推荐!Kendo UI for jQuery自定义小部件——处理事件

    Kendo UI for jQuery最新试用版下载 Kendo UI目前最新提供Kendo UI for jQuery.Kendo UI for Angular.Kendo UI Support f ...

  8. Kendo UI Grid 使用总结

    Kendo UI Grid控件的功能强大,这里将常用的一些功能总结一下. Kendo UI Grid 固定列 在使用Gird控件显示数据时,如果数据列过多,会出现横向滚动条,很多情况下,我们希望某些列 ...

  9. HTML5 UI框架Kendo UI Web中如何创建自定义组件(二)

    在前面的文章<HTML5 UI框架Kendo UI Web自定义组件(一)>中,对在Kendo UI Web中如何创建自定义组件作出了一些基础讲解,下面将继续前面的内容. 使用一个数据源 ...

随机推荐

  1. AtCoder Grand Contest 010 C:Cleaning

    题目传送门:https://agc010.contest.atcoder.jp/tasks/agc010_c 题目翻译 给你一棵树,每个点有个权值,每次操作可以选择两个度数为\(1\)的结点,然后让这 ...

  2. Poj1007_DNA Sorting(面向对象方法)

    一.Description One measure of ``unsortedness'' in a sequence is the number of pairs of entries that a ...

  3. poco时间操作

    Poco::DateTime Poco::Timespan Poco::Timestamp 时间操作 Poco::DateTime dt; //c++ 20才有 Calendar dt = dt + ...

  4. Poco 编译mysql

    POCO mysql需要自己添加connecter的header和lib MySQL Client: For the MySQL connector, the MySQL client librari ...

  5. 参数化之利用CSV Data Set Config从文件读取参数并关联变量

    众所周知,在进行接口测试的过程中,需要创建不同的场景(不同条件的输入,来验证不同的入参的返回结果).因而,在日常的自动化接口监控或商品监控等线上监控过程中,需要配置大量的入参来监控接口的返回是否正确. ...

  6. repackage android application

    decompile the application file apktool d -o dianping/ dianping.apk modify the resources / smali asse ...

  7. Obama&nbsp;unveils&nbsp;his&amp;nbsp…

    LAS VEGAS - Declaring that America's immigration system is broken, President Obama on Tuesday called ...

  8. Beetl使用注意事项

    1.如果表达式跟定界符或者占位符有冲突,可以在用 “\” 符号 @for(user in users){ email is ${user.name}\@163.com @} ${[1,2,3]} // ...

  9. 再论c#获取存储过程返回值(包括SqlSugar)

    其实这个问题好多年以前研究过: https://blog.csdn.net/xpnew/article/details/6909902 最近因为需要统计日结月结,给同事写了一套调用存储过程的代码.同时 ...

  10. Unity命令行打包

    http://www.66acg.com/?post=137 补充 unity编辑器端获取打包命令行自定义参数,这个可以获取到所有打包时的参数 string[] runArgs = System.En ...