我已经实现了MXML自定义组件,我想将参数传递给构造函数:
newUser = new userComp("name");
而不是使用set方法。
如果使用MXML(使用initialize=myPseudoCostructor()
方法构建自定义组件,这是否可行?)
或者我只能用额外的代码行设置参数?
答案 0 :(得分:5)
您不能pass variables进入MXML组件的构造函数。我甚至不相信MXML组件中的define a constructor是可能的,尽管我可能错了。但是,您可以设置具有默认值的属性,并在构造后更改。
您还可以创建一个初始化函数,该函数也在构造后调用。
答案 1 :(得分:3)
我最近遇到了这个问题 - 您可以做的是创建一个返回组件的初始化函数:
在组件内部(为了参数而调用,MyComponent):
public function init(...args):MyComponent {
//Add constructor code here
return this;
}
...创建组件时,您可以这样调用:
var myComp:MyComponent = new MyComponent().init(args);
当它返回对象时,您可以将其视为构造函数。我最近不得不使用这种方法,似乎是解决问题的最佳方法。
答案 2 :(得分: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"/>