2012-01-27 7 views
0

私はknockout jsを使い慣れており、配列を取り込むときに、私が追加している各インスタンスのプロパティにサブスクライブするとき、プロパティが変更されたとき相互作用)私はどのオブジェクトが変更されたか知る必要がありますが、ノックアウトは私に関連プロパティの新しい値だけを与えます。 オブジェクトを取得することは可能ですか?配列koのvmのサブスクリプションを購読する

length.isSelected.subscribe(function (isSelected) { 
       if (isSelected) { // no access to actual object only the isSelected value 
        debugger; 
        spotLenghts.push(this); 
       } else { 
        spotLenghts.pop(this); 
       } 
      }); 

答えて

6

subscribe機能がtargetである二番目の引数を取ります(私は成功せず、「この」機能でコンテキストを試してみました)。あなたの関数が実行されるときに何を設定するかは、thisになります。

したがって、length(または必要に応じて作成する上位レベルのオブジェクト)を第2引数として渡し、ハンドラでthisを使用することができます。

関連する問題