7

我已经实现了一个 MXML 自定义组件,我想将参数传递给构造函数:

 newUser = new userComp("name");

而不是使用 set 方法。

如果自定义组件是在 MXML 中构建的(使用initialize=myPseudoCostructor()方法?) ,这可能吗?

或者我只能用额外的代码行来设置参数?

4

3 回答 3

5

您不能将变量传递给 MXML 组件的构造函数。我什至不相信在 MXML 组件中定义构造函数是可能的,尽管我可能是错的。但是,您可以设置具有默认值并在构建后更改的属性。

您还可以创建一个也在构造后调用的初始化函数。

于 2010-04-18T20:12:45.367 回答
3

我最近遇到了这个问题 - 你可以做的是创建一个返回组件的初始化函数:

在组件内部(为了论证,称为 MyComponent):

public function init(...args):MyComponent {

    //Add constructor code here

    return this;    
}

...创建组件时,您可以像这样调用:

var myComp:MyComponent = new MyComponent().init(args);

当它返回对象时,您可以将其视为构造函数。我最近不得不使用这种方法很多,似乎是解决问题的最佳方法。

于 2013-02-20T00:32:43.420 回答
1
IN COMPONENT (cosa)

<fx:Declarations>
 <fx:String id="name">Jon Doe</String>
</fx:Declarations>
<fx:Script>
 trace("hola "+name)
</fx:Script>
<s:Label text="Hola {name}"/>

IMPLEMENT
<cosa name="Juan Perez"/>
于 2011-12-08T17:12:09.337 回答