私はこのようなことを達成しようとしています:
for (var i = 0; i < types.length; i++) {
var type = types[i];
myObj()['text' + type.name] = ko.computed(function () {
return myFuction(myObj()[type.name + 'MyText']());
});
}
それが明確でない場合は、最大の柔軟性を実現しようとしている特定のオブジェクト タイプがあります。つまり、クライアント側のコードを変更することなく、DB 内のオブジェクトに新しい属性を追加できるようにしたいと考えています。
これは、計算された変数を除いて正常に機能します。上記の例では、関数は常に type の最後の値、つまり配列の最後の値で呼び出されるようです。
誰でもこの問題の解決策を持っていますか?
例:
types = [{name: 'red'}, {name: 'green'}, {name: 'blue'}];
最後に、myFunction と計算された変数は常に {name: blue} で呼び出されます。