2011-02-09 11 views
0

私はこの配列内のいくつかの値を更新しようとしている私のOS Xの更新配列値(Appceleratorのチタンモバイル)

に私のアプリをテストするために1.5.1と1.6.0の両方を使用しています:

私はこの配列内の値のフィールドを更新した場合
var myTab = [ 
{title:'foo1',value:'bar1'}, 
{title:'foo2',value:'bar2'} 
]; 

、それが(正常ではないです)、それをしない:それは「BAR1」の代わりに表示さ

Titanium.API.info('Before :' + myTab[0].value); 
myTab[0].value = 'updated!'; 
Titanium.API.info('After :' + myTab[0].value); 

「更新します!」。私は次の試みた何 はプロパティリストとしてタブを置くことです:

Titanium.API.info('Before :' + Titanium.App.Properties.getList('propTab')[0].value); 
Titanium.App.Properties.getList('propTab')[0].value = 'updated!'; 
Titanium.API.info('After :' + Titanium.App.Properties.getList('propTab')[0].value[0].value); 

同じ結果:

Titanium.App.Properties.setList('propTab',myTab); 

そして、私は同じことを実行しようとしました。それはBAR1」を表示する代わりに、 '更新しました!'。

他に解決策はありますか?

は、私が前に行動のこの種に遭遇しました

よろしく

答えて

3

、ありがとうございました。私は原因を確かめませんでしたが、回避策を見つけました:myTab[0]を値に設定し、値にmyTab[0].valueを設定する必要があります。だから:

myTab[0] = {title: myTab[0].title, value: "updated!"}; 

私はおそらくそれを理解する必要があります。

0

あなたは配列要素として言及する必要があり、それはうまくいくはずです。たとえば、あなたの場合、愚か者として変更することがあります。

myTab[0]['value'] = 'updated!';