JQuery:有没有办法做Flex风格的数据绑定?

时间:2009-07-13 20:22:51

标签: jquery flex bindable-linq bindable

几个新的UI / Query框架允许您将UI元素“绑定”到数据结构。更新结构中的数据时,更改会自动传播到UI元素。 其中的一些示例包括Adobe Flex中的[Bindable]标记和.NET的“Bindable LINQ”扩展。

有人在JQuery中这样做吗?

3 个答案:

答案 0 :(得分:2)

不是特定于jQuery,但MS AJAX.NET 4.0具有bind vanilla JavaScript objects (POJOs) to vanilla DOM elements的实现,包括双向绑定。这一切都是由POJO上的an implementation of the Observer pattern驱动的,用于观察对象的任何属性的变化:

var widget = { name: "widget1" }; // came from a JSON service

Sys.Observer.addPropertyChanged(widget, showWidget);

showWidget(widget);

function showWidget(widget) {
    $get('div1').innerHTML = widget.name;
}

答案 1 :(得分:0)

在直接的JavaScript中,这可能不是那么简单。您必须拦截绑定属性的setter,这可以在其他环境中执行,因为setter是.NET和ActionScript中语言的一部分,但不是JavaScript本身的一部分。 .NET和AS3都有特殊的setter语法,编译器可以理解;在JS它只是

instance.property = value // or instance[property] = value for dynamic assignment

答案 2 :(得分:0)

不是我所知道的,只是使用Flex,除非您出于某种原因绝对强制要求或要求使用依赖于浏览器的脚本。