これはかなりうまく結合クリックためknockout documentationで覆われている動作しませんでした。これが実際に処理できる方法はいくつかあります。クリックバインディングを使用するたびに、コンテキストのデータが関数内の「this」に渡されます。したがって、 "value"が現在のコンテキストでモデル上のプロパティである場合は、ほとんど何も渡す必要はありません。 (ドキュメントの注1を参照してください)
var rootModel = function(){
var self = this;
self.addUniversalParcelIDtoArray = function() {
console.log(this.value);
}
}
ただし、現在のコンテキストでデータ以外に何かを渡す必要があるかもしれません。その場合、追加のパラメータを追加する.bind関数を使用することができます。 $データは、$ parentコンテキストのvalueプロパティに加えて、現在のコンテキストから "this"にモデルを渡します。 (ドキュメントの注2を参照してください)
<input class="cards-view--item-checkbox pull-right" type="checkbox"
data-bind="value: universalParcelId, click: $root.addUniversalParcelIDtoArray.bind($data, $parent.value)" />
これは素晴らしい動作します。ありがとう。しかし、関数ラッパーを使うために '$ data'や' $ event'のような追加のパラメータを得ることができませんでした。 – TetraDev
この例を編集します。 –
優れています。それは動作します。私はあなたの答えを受け入れています。私はまた、 "true/false"のパラメータを送ることによって、入力がチェックされているかどうかを渡そうとしています。それを行う簡単な方法はありますか? – TetraDev