2009-07-13 10 views
2

Mehrere neue UI/Query-Frameworks ermöglichen das "Binden" von UI-Elementen an Datenstrukturen. Wenn Daten in der Struktur aktualisiert werden, wird die Änderung automatisch an das UI-Element weitergegeben. Einige Beispiele hierfür sind das Tag [Bindable] in Adobe Flex und die Erweiterung "Bindable LINQ" für .NET.JQuery: Gibt es eine Möglichkeit, Datenbindungen im Flex-Stil zu erstellen?

Wer macht das in JQuery?

Antwort

0

Es kann nicht so einfach sein, in gerade JavaScript zu tun. Sie müssen Setter für die gebundenen Eigenschaften abfangen, was in diesen anderen Umgebungen möglich ist, da Setter sowohl in .NET als auch in ActionScript Teil der Sprache sind, aber nicht Teil von JavaScript selbst sind. Sowohl .NET als auch AS3 haben spezielle Setter-Syntax, die der Compiler versteht; in JS ist es nur

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

Nicht jQuery spezifisch, aber MS AJAX.NET 4.0 hat eine Implementierung bind vanilla JavaScript objects (POJOs) to vanilla DOM elements, darunter zwei-Wege-Bindung. Es ist alles von an implementation of the Observer pattern auf POJOs angetrieben, um ein Objekt für Änderungen auf jedem seiner Eigenschaften zu beobachten:

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

Nicht, dass ich kenne, verwendet Flex nur, es sei denn Sie absolut aus irgendeinem Grunde vorgeschrieben oder erforderlich Browser verwendet abhängig Skripting.