在动态文本字段中动态插入对象/数组信息

时间:2012-01-25 14:33:34

标签: actionscript-3 object

我有一堆带有数组的对象。

var tabData0: Object = new Object();
tabData0.tab1 = new Object();
tabData0.tab1.names = new Array();
tabData0.tab1.names.push("<b>111.</b> Het systeem aan- of uitzetten", "<b>2.</b> De  temperatuur verhogen of verlagen");

var tabData1: Object = new Object();
tabData1.tab1 = new Object();
tabData1.tab1.names = new Array();
tabData1.tab1.names.push("<b>222.</b> Het systeem aan- of uitzetten 2", "<b>23.</b> De  temperatuur verhogen of verlagen");

我们的想法是从其中一个对象中选择并将内容插入到texfield中。

我从3级恢复var并存储它,然后将它与tabData结合。

var moveRemoteHolder = MovieClip(parent.parent.parent).remoteHolder;
var all = "tabData"+moveRemoteHolder;
trace ("all = " +all); // returns: all = tabData0

我想将此输出与更多内容组合以引用我的对象/数组。 remoteHolder包含我需要知道哪个对象(tabData0tabData1等)从中检索信息的值。

tabHolder['btn' + i].titleHolder.titleField.htmlText = all['tab' + tab].names[(i-1)];

但是得到这个:

ReferenceError: Error #1069: Property tab1 not found on String and there is no default value.

1 个答案:

答案 0 :(得分:0)

更新基于对OP的回答的评论。请参阅修订后的代码段。

我可以看到为什么结果令人困惑。您正在追踪“tabData0”,因为:

  1. var all is untyped
  2. var moveRemoteHolder是无类型的
  3. MovieClip是一个动态类
  4. 在MovieClip(parent.parent.parent)
  5. 上未定义remoteHolder

    http://www.youtube.com/watch?feature=player_embedded&v=kwRvoeGsuY8

    我推荐这个:

    var dataContainer:MovieClip = MovieClip(parent.parent.parent);
    var all:Object = dataContainer["tabData" + dataContainer["moveRemoteHolder"]];
    trace ("all = " + all);
    

    HTH!