私は Knockout.js を使用して、クリック ハンドラーの一部として渡されたデータ オブジェクトのプロパティを解決する方法を見つけようとしています。これまでのところ、オブジェクトに関連付けられた関数のテキスト定義のみを検索/表示できます。
たとえば、Chrome を使用してクリック バインディングによって渡されたデータ オブジェクトを調査すると、次の情報しか見つかりません。
> data.CityId.toString
function toString() { [native code] }
> data.CityId.toString()
"function b(){if(0<arguments.length){if(!b.equalityComparer||!b.equalityComparer(d,arguments[0]))b.H(),d=arguments[0],b.G();return this}r.T.Ha(b);return d}"
プログラム:
プログラムはいくつかの都市を一覧表示します。要素をクリックすると、関数を呼び出してデータを更新し、ビュー モデル インスタンスからパラメーターを渡します。
私はマッピング プラグインを使用していますが、ビュー モデルは事実上次のようになります。
- 都市ID
- 都市名
メソッドを呼び出す HTML テンプレート:
<div data-bind="click: function(data, event) { UpdateForCity(data, event); }">
<span data-bind="text: CityName"></span>
</div>
呼び出される関数:
function UpdateForCity(data, event) {
alert('CityId: ' + data.CityId); // This is the part where I'd like to resolve the value
}
関数は値を受け取りますが、プロパティを解決する方法を見つけるすべての試みは、これまでのところうまくいきませんでした。上記の例の CityId プロパティを解決するにはどうすればよいですか? (そして、MVVM/knockout パターンで何か誤解したことがありますか?)
ありがとう。