Ich versuche, ein Widget in eine vorhandene Anwendung, die Knockout verwendet hinzufügen. Die Dokumentation für dieses Widget ist ziemlich spärlich. Die Dokumentation weist mich anknockout.js laden Widget aus JavaScript-Bibliothek
in meine Seite, wo ich das Widget angezeigt werden soll.
Dieses Projekt haml verwendet, und ich habe das Beispiel zum Laufen bringen kann die
%div
:javascript
Widget.insertWidget({"productId":"1234"})
Dies gibt das Beispiel funktioniert, indem Sie folgendermaßen vorgehen, aber ich brauche, dass productId
haben, die eine Eigenschaft auf einem Knockout beobachtbar.
Also versuche ich, die Bindungen zu implementieren, und das ist, wo ich feststecke. Ich habe versucht, Variationen von
%div{ 'data-bind' => "(text|html|value) => $parent.widgetInserter" }
Wo widgetInserter
widgetInserter: =>
Widget.insertWidget({"productId":@product().id})
Ich bin in der Lage eine debugger
Aussage in meiner insertWidget
Funktion zu treffen, aber das Widget nicht angezeigt wird.
Für mich scheint es, dass einer von denen hätte funktionieren sollen, aber keiner hat. Ich schätze jede Anleitung zu diesem Thema.
:
<input type="hidden" data-bind="value: productId" id="pid" />
Dann später wieder darauf zugreifen '" (Text | html | Wert) => $ parent.widgetInserter "' - Warum verwenden Sie '=>' hier? Im Knockout müssen Sie ':' verwenden. Und hier nehme ich an, dass Sie eine benutzerdefinierte Bindung benötigen, um Ihre Funktion auszuführen. Siehe http://knockoutjs.com/documentation/custom-bindings.html –