Kendo UI开发教程(12): Kendo MVVM 数据绑定(一) attr

jerry Kendo UI 2015年11月25日 收藏

Kendo UI MVVM数据绑定支持的绑定属性有 attr, checked, click, custom , disabled,enabled, events, html, invisible, , style, text ,value, visible ,这些属性可以绑定到DOM元素或是Kendo UI组件的属性。本篇介绍 attr 绑定。
attr 支持把ViewModel的属性或方法绑定到DOM元素的某个属性, 比如设置hyperlink 的herf 和title属性, image元素的 src 或 alt 属性。 其基本用法为
attr: { attribute1: field1, attribute2: field2 }
其中 attribute1 和 attribute2 为DOM元素的属性名称, 而 field1,field2为ViewModel对象的值域(属性)的名称。
比如:

<img id="logo" data-bind="attr: { src: imageSource, alt: imageAlt }" />
<script>
var viewModel = kendo.observable({
    imageSource: "http://www.kendoui.com/image/kendo-logo.png",
    imageAlt: "Kendo Logo"
});

kendo.bind($("#logo"), viewModel);
</script>

在中,image元素的 src和 alt属性被绑定到viewModel对象的 imageSource和 imageAlt属性。 当调用kendo.bind方法,image元素和下面HTML元素等效:

<img id="logo" src="http://www.kendoui.com/image/kendo-logo.png" alt="Kendo Logo"" />

此时,如果修改viewModel的imageSource和 imageAlt属性的值,页面上显示的图片也随之发生变化。

20130817001

注意:如果需要绑定到DOM元素的value或checked属性,你需要使用Kendo MVVM的 value和 checked绑定方法。

attr 绑定也支持设置HTML5 数据属性绑定,例如:

<div data-bind="attr: { data-foo: fooValue, data-bar: barValue }"></div>

<script>
var viewModel = kendo.observable({
    fooValue: "foo",
    barValue: "bar"
});

kendo.bind($("div"), viewModel);
</script>