0

こんにちは私は次のArrayCollectionを持っています:

priceModel.model.arrayProducts.addItem( {'productID':pc.productID, 'product':pc.product,
'provider1': {'value':0, 'selected':false},                                                             'provider2': {'value':0, 'selected':false},                                                             'provider3': {'value':0, 'selected':false},                                                             'provider4': {'value':0, 'selected':false},                                                             'provider5': {'value':0, 'selected':false},                                                             'provider6': {'value':0, 'selected':false});

私は一連の製品を持っていますが、問題は、製品を反復処理して、たとえば次のような特定のプロバイダーにアクセスする必要があるということです。

priceModel.model.arrayProducts[product_index].('provider'+(idx+1)).value;

これは動作しません。各製品のprovider_Xにアクセスするためにコードを集中させるにはどうすればよいですか?

ありがとう。

4

1 に答える 1

0

ArrayCollectionの場合、[]構文を使用することはできません。アイテムにアクセスするにはgetItemAtを使用する必要があります。

priceModel.model.arrayProducts.getItemAt(product_index)

オブジェクトのプロパティに「動的に」アクセスするには、逆に[]を使用します。

['provider'+(idx+1)].value;

したがって、これは機能するはずです。

priceModel.model.arrayProducts.getItemAt(product_index)['provider'+(idx+1)].value;
于 2013-02-05T23:43:08.377 に答える