2011-09-26 2 views
0

У меня возникла проблема с обновлением массива, который является глобальным.Как обновить глобальную переменную в титане?

вот мой код:

Ti.App.dinercolor=["#FF5A00","#007EFF","#dccdc0","#C2FF95","#A700FD","#dccdc0","#dccdc0","#5F9EA0","#dccdc0","#dccdc0","#22A000","#DCCDC0","#dccdc0","#FF003C","#dccdc0","#FF003C","#dccdc0","#22A000","#dccdc0","#FFF191"]; 

тот мой глобальный массив, который я могу получить доступ к данным из него из любого места в приложении.

проблема возникает, когда я хочу, чтобы обновить массив как:

for(var q=0; q<Ti.App.dinercolor.length; q++){Ti.App.dinercolor[q] = '#dccdc0';}  

так, массив я ожидал, что после операции то сделано что-то вроде этого:

Ti.App.dinercolor=["#dccdc0","#dccdc0","#dccdc0","#dccdc0","#dccdc0","#dccdc0","#dccdc0","#dccdc0","#dccdc0","#dccdc0","#dccdc0","#dccdc0","#dccdc0","#dccdc0","#dccdc0","#dccdc0","#dccdc0","#dccdc0","#dccdc0","#dccdc0"]; 

но почему-то я 'm получает тот же массив без изменений,

Ti.App.dinercolor=["#FF5A00","#007EFF","#dccdc0","#C2FF95","#A700FD","#dccdc0","#dccdc0","#5F9EA0","#dccdc0","#dccdc0","#22A000","#DCCDC0","#dccdc0","#FF003C","#dccdc0","#FF003C","#dccdc0","#22A000","#dccdc0","#FFF191"]; 

, пожалуйста, помогите мне, я понятия не имею Шляпа я делаю неправильно здесь,

Спасибо ,,

+0

все операции выполняются в одном файле? дайте краткий обзор вашей файловой структуры (например, Ti.includes и т. д.), – mkind

ответ

3

Ваш код правильный, но вы не должны расширить объект Ti, как неожиданные вещи, как это будет происходить. Создайте свой собственный объект, и он будет работать.

myObj = {}; 
myObj.dinercolor = []; 

И так далее.

Рекомендуется сохранить приложение в одном контексте, чтобы вы могли получить доступ к объекту из любого места. Посмотрите видеоролик the forging titanium для некоторых лучших практик.

1

Я согласен с Джеффом, однако, если вы хотите, чтобы вышеуказанный подход работал, вам нужно будет обновить весь массив, вы не сможете просто обновлять элементы.

Так читать массив из в новую переменную, обновлять отдельные элементы, а затем установить свойство снова

0

В App.js:

Ti.App.my_variable = 0; 

В some_other_page.js:

Ti.App.my_variable = 101; 

В yet_another_page.js:

alert(Ti.App.my_variable); 

Это будет предупреждать 101!

Смежные вопросы