ノックアウト js のカスタム バインディングでの次の動作に困惑しています。
ko.bindingHandlers.customBinding = {
update: function(element, valueAccessor, allBindingsAccessor) {
var value = ko.utils.unwrapObservable(valueAccessor());
console.log( JSON.stringify(value) );
}
}
ko.applyBindings({
someText: ko.observable("inital value")
});
と
<input type="text" data-bind="value: someText, customBinding: {some: 'option'}">
valueAccessor()
は、要素の値にバインドされているビュー モデル プロパティ (つまり、 observable ) を提供する必要がありsomeText
ます。ドキュメントを引用するには:
valueAccessor
— このバインディングに関連する現在のモデル プロパティを取得するために呼び出すことができる JavaScript 関数。パラメータを渡さずにこれを呼び出して (つまり、 callvalueAccessor()
)、現在のモデル プロパティ値を取得します。
ただし、実際に行うことはバインディング値を返すことです{some: 'option'}
。
私は何が欠けていますか?
http://jsfiddle.net/j5y8H/を参照してください