ko.bindingHandlers.editMode =
{
update: function(element, valueAccessor, allBindingsAccessor, viewModel, bindingContext)
{
var newValueAccessor = ko.utils.unwrapObservable(valueAccessor());
var $element = $(element);
var viewModel = new someViewModel();
$element.append("<input type='text' data-bind='value: model.value' />");
ko.bindingHandlers.with.update(element, function() { return viewModel }, allBindingsAccessor, viewModel, bindingContext);
}
}
model.value
someViewModel は、追加された入力にバインドするプロパティ (観察可能) を含むビュー モデルです。しかし、with
バインディングの更新を呼び出すと、 Uncaught TypeError: Cannot read property 'savedNodes' of undefined.
(knockout.js デバッグ ビルド) が取得されます。を使用した場合と同じ結果が得られるようにするには、viewModel
をどのように渡す必要がありますか? ありがとう!with.update
data-bind="with: new someViewModel()"