的數目我有以下火花應用:的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的TestObject:
<local:TestComponent>
<local:objects>
<local:TestObject>
</local:TestObject>
</local:objects>
</local:TestComponent>
只有創建的TestObject的一個實例。
任何人都可以解釋爲什麼當使用屬性語法反對元素語法(我認爲是相同的)時創建了兩個對象?
非常明確的答案,謝謝。 mx應用程序中的fx:聲明的等價物是什麼? – matb 2011-01-31 14:22:27