ノックアウトとフォームを使用して、エラーをスローせずにバインディングを適用するのに問題があります。
フォームのロジックをいくつかのビュー モデルに分割したいのですが、foobar をバインドしようとすると、バーと foo のバインディングが見つからないというエラーが発生します。
以下の例でこれを表示しようとしました。
望ましい動作を実現する方法はありますか? 3 つのビュー モデルのすべてのバインディングを組み合わせて、それらを foobar に割り当てる方法はありますか?
bar_observable は、barViewModel のコンストラクターで作成される ko.observable です。
<div id="foobar">
<form data-bind="with: newFooBar, submit: submitFooBar">
<section id="bars">
<div data-bind="text: bars_observable"></div>
</section>
<section id="foos">
foo stuff
</section>
</form>
</div>
<script type="text/javascript">
$(function () {
var foobarViewModel, fooViewModel, barViewModel;
foobarViewModel = new ViewModels.FoobarViewModel({
fooViewModel: new ViewModels.FooViewModel({}),
barViewModel: new ViewModels.BarViewModel({})
});
ko.applyBindings(foobarViewModel, document.getElementById("foobar"));
});
</script>
エラーは次のようになります
"Uncaught Error: Unable to parse bindings. Message: ReferenceError: bars_observable is not defined;"