几个新的UI / Query框架允许您将UI元素“绑定”到数据结构。更新结构中的数据时,更改会自动传播到UI元素。 其中的一些示例包括Adobe Flex中的[Bindable]标记和.NET的“Bindable LINQ”扩展。
有人在JQuery中这样做吗?
答案 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,除非您出于某种原因绝对强制要求或要求使用依赖于浏览器的脚本。