2010-12-03 2 views
1

Мне нужно создать имена свойств переменных для использования с компонентом сетки данных.Переменные имена объектов в As3 flex?

Это работает:

data = new Object(); 
data.some_name = "the data"; 

Но это не делает:

data = new Object(); 
colName = "some_name"; 
data[colName] = "the data"; 

Может кто-нибудь мне помочь? Могут ли объекты имен объектов быть переменными?

+0

Вы действительно должен отпечатать ваш код, чтобы сделать его более разборчивым, я просто сделал это для вас, разве это не выглядит намного приятнее :)? – PatrickS 2010-12-03 07:56:05

+0

thans PatrickS ... да, это так. – 2010-12-03 11:38:45

ответ

6
var colName:String = "Column Title"; 
var colNameNoSpace:String = "ColumnTitle" 

var dataObject:Object = new Object(); 
dataObject[colName] = "What's the problem?"; 
dataObject[colNameNoSpace] = "There's no problem!" 

trace(dataObject["Column Title"]); //What's the problem? 
trace(dataObject[colName]);   //What's the problem? 
trace(dataObject.ColumnTitle);  //There's no problem! 
trace(dataObject[colNameNoSpace]); //There's no problem! 
1

Возможно, вы забыли присвоить свойство some_name! должно работать ...

var data:Object = new Object(); 
data.some_name = "the data"; 
colName = "some_name"; 
data[colName] = "the data"; 
0

Это не работает, потому что:

ColName является переменной, которая означает указатель на адрес, где строка «некоторое_имя» помещается

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