Flex对象创建加倍实例数
我有以下火花应用:
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955"
minHeight="600" xmlns:local="*">
<local:TestComponent objects="{[new TestObject()]}">
</local:TestComponent>
</s:Application>
TestComponent:
package
{
import mx.core.UIComponent;
public class TestComponent extends UIComponent
{
public function TestComponent()
{}
public function set objects(array:Array):void
{}
}
}
的TestObject:
package
{
public class TestObject
{
public function TestObject()
{}
public function set objs(value:Array): void
{}
}
}
我观察到TestObject的构造函数被调用了2次,并且创建了两个TestObject实例。
创建顺序如下:
TestObject构造函数
TestComponent构造函数
TestObject构造函数
调用TestComponent.objects(参数的值只包含一个对象)。
如果我在mxml中使用“element”方式实例化TestObject:
<local:TestComponent>
<local:objects>
<local:TestObject>
</local:TestObject>
</local:objects>
</local:TestComponent>
仅创建一个TestObject实例。
任何人都可以解释为什么在使用属性语法时创建两个对象与元素语法相反(我认为是相同的)?
没有找到相关结果
已邀请:
1 个回复
羔磺
事件之前)。第二次执行绑定时会在创建UIComponent时发生。 (注意:在
事件之前可能发生的绑定执行次数因不同的组件而异,以及与它们绑定的内容。) 如果你想在应用程序初始化中使用绑定但不创建垃圾,我会建议: