JQuery: есть ли способ привязки данных в стиле Flex? - PullRequest
2 голосов
/ 14 июля 2009

Несколько новых UI / Query frameworks позволяют вам «привязывать» элементы UI к структурам данных. Когда данные в структуре обновляются, изменение распространяется на элемент пользовательского интерфейса автоматически. Некоторые примеры этого включают тег [Bindable] в Adobe Flex и расширение «Bindable LINQ» для .NET.

Кто-нибудь делает это в JQuery?

Ответы [ 3 ]

2 голосов
/ 20 июля 2009

Не специфично для jQuery, но MS AJAX.NET 4.0 имеет реализацию для связывания ванильных объектов JavaScript (POJO) с ванильными элементами DOM , включая двустороннее связывание. Все это обусловлено реализацией шаблона Observer в POJO для наблюдения объекта за изменениями любого из его свойств:

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

Sys.Observer.addPropertyChanged(widget, showWidget);

showWidget(widget);

function showWidget(widget) {
    $get('div1').innerHTML = widget.name;
}
0 голосов
/ 17 июня 2011

Не знаю, просто используйте Flex, если вы не обязаны или по какой-то причине не используете браузер-зависимые скрипты.

0 голосов
/ 14 июля 2009

Это может быть не так просто сделать в прямом JavaScript. Вы должны перехватить сеттеры для связанных свойств, что возможно сделать в этих других средах, потому что сеттеры являются частью языка как в .NET, так и ActionScript, но не частью самого JavaScript. И .NET, и AS3 имеют специальный синтаксис сеттера, который понимает компилятор; в JS это просто

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