2010-12-27 10 views
3

Ich brauche eine Art von JS MVC, DataBinding-Lösung. Ähnlich wie bei der Implementierung einer GMAIL Web App. Nachrichten INDEX und Nachrichten anzeigen. Wenn in den Nachrichten eine Nachricht geändert wird, wird sie automatisch im Nachrichtenindex aktualisiert.jQuery Data Binding - Was ist das Plugin, das heutzutage populär ist?

Was ist das Plugin, das ich lernen sollte, um diese Arbeit ohne verrückte Mengen von jQuery zu machen?

Dank

Antwort

3

Das klingt wie ein Job, knockoutjs könnte damit umgehen. Es ermöglicht Ihnen, DOM-Elemente ziemlich einfach mit einem Datenmodell zu verknüpfen. Technisch ist es nicht MVC, es ist MVVM (Model-View-Viewmodel).

+0

sehr interessant. Ich hatte vorher noch nichts davon gehört. – AnApprentice

+0

Eine Idee, wie beliebt, unterstützt knockoutjs ist? – AnApprentice

+1

@AnApprentice: Ich bin mir nicht sicher, wie gut es unterstützt wird. Mein Team hat nicht viele Probleme damit bekommen. Das heißt, es gibt nur 17 Fragen, die mit 'knockoutjs' auf SO markiert sind (das könnte wirklich als ein gutes * oder * schlechtes Zeichen angesehen werden). Sie können auf der Google-Gruppen-Seite nachsehen, wie gut der Support ist: http://groups.google.com/group/knockoutjs. Wie für die Popularität; das ist eine gute Frage, ich habe keine Liste von Projekten gesehen, die es verwenden, und Google ist nicht viel Hilfe ... –

3

Check out Backbone.js, die mit underscore.js, beide sehr gut gemacht und beliebt in diesen Tagen gebaut.

Weder baut auf jQuery. Beide bemühen sich jedoch, mit minimalem Code sehr ausdrucksstark zu sein, und sind daher kompakt und leicht.

3

Sie möchten vielleicht JavaScriptMVC betrachten. Wir benutzen es schon eine Weile und sind damit zufrieden. Im Gegensatz zu anderen Frameworks baut es direkt auf jQuery auf.

Damit haben Sie ein Modell mit Attributen. Sie ändern ein Attribut, indem Sie etwas wie myModel.attr ("firstName", "Bob") aufrufen. Jedes Mal, wenn sich ein Attribut ändert, löst das Modell ein Ereignis aus. So könnte sich Ihr Controller (oder irgendetwas) für das Ereignis "firstName" von myModel registrieren, und Sie werden benachrichtigt, wenn sich firstName ändert. An diesem Punkt können Sie Ihre Ansicht aktualisieren.

0

Für jeden, der in letzter Zeit auf diese Frage gestoßen ist, denke ich, dass eine großartige Lösung für die Datenbindung von DOM-Elementen an ein Modell Generic Data Binder (GDB) ist. Es ist extrem einfach und sehr flexibel für diese Zwecke. Hör zu.