0
JavaScriptオブジェクトのプロパティを参照解除しようとしていますが、期待される結果が得られません。配列内からJavaScriptプロパティを参照解除する
ノックアウトビューモデル(ノックアウトには問題はないと思います)の配列があり、それぞれが観測可能なもの、Selected
を持っています。私はSelected
の値が変更されたときに、crossSelectTargetLangs
という関数が呼び出されるように、この観測対象にサブスクリプションを追加します。
さらに、このサブスクリプションをfor...
ループ内に追加します。ビューモデルが持っていたにかかわらず、そのうちしかし
var tl = 0,
tlMax = allLangVMs.length,
vmLang,
selectedCode;
// for each 'vmLang' view-model in the 'allLangVMs' array...
for (; tl < tlMax; tl++) {
// local variable for the context view-model
vmLang = allLangVMs[tl];
// add the subscription to this observable
vmLang.Selected.subscribe(function() {
// de-reference the vmLang.Code property
selectedCode = (function(code) {
return code;
}(vmLang.Code));
// pass the de-ref'd value to the target function
crossSelectTargetLangs(selectedCode);
});
}
、そのSelected
、目的関数に渡される引数は常に配列の最後の要素からCode
更新観察できるすなわちあるようには見えません参照を外す。
私は間違っていますか?
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Closures#Creating_closures_in_loops_A_common_mistake –