Ich habe eine sehr dynamische Seite, die benutzerdefinierte Anwendungen / Widgets innerhalb der Seite verwendet und ich habe untersucht, wie ich die Seite mit Hilfe von Knockout verbessern könnte.
Wenn jedes "Widget" ein viewModel ist, das auf derselben Registerkarte (div) existiert, welche Art von Problemen würde ich finden?
Ist es in Ordnung, ein ViewModel zu haben, das ganz oben beginnt und andere Modelle enthält? Oder sollte ich individuelle Modelle haben und einfach ko.applyBindings (vm, element) verwenden, um sie anzuwenden?
Wir hatten Erfolg in beide Richtungen, aber normalerweise verwenden wir das erste von Ihnen erwähnte Szenario mit einem übergeordneten übergeordneten Ansichtsmodell, das Instanzen anderer, spezifischerer Ansichtsmodelle enthält. Die allgemeine Praxis schlägt vor, den Aufruf von applyBindings
häufig zu vermeiden. Eine kurze Erwähnung von Knockouts "mit" -Bindung erscheint in Ihrer Instanz angemessen: Ссылка
Dadurch würden die Bindungsausdrücke in Ihren Tabs stärker auf die Ansichtsmodelle ausgerichtet, die sie darstellen:
%Vor%Letztlich liegt es ganz bei Ihnen, wie Sie Ihre Dom- und View-Modelle strukturieren möchten, indem Sie einfach ein gemeinsames Beispiel aufstellen, das wir für nützlich befunden haben.
Tags und Links knockout.js