我有一个带有表单的 MXML,其中有两个 TextInput。我讨厌在 MXML 文件中包含任何代码(我来自 JavaScript 格式),所以我使用
mx:Script source="external.as"
标记以包含任何 MXML 文件中使用的任何代码。问题是,如果我在文件中有此代码external.as
:
private function populateFromForm():void{
var vo:ValidObject= new ValidObject();
vo.market = marketInput.text;
vo.segment = segmentInput.text;
vo.priceLow = priceLowInput.text;
vo.priceHigh = priceHighInput.text;
}
其中 marketInput、segmentInput、priceLowInput 和 priceHighInput 是 MXML 文件中定义的 TextInput。当我尝试编译时,我得到一个1120: Access to undefined property XXXXX
我尝试在函数之前添加以下行:
public var marketInput:TextInput;
public var segmentInput:TextInput;
public var priceLowInput:TextInput;
public var priceHighInput:TextInput;
但相反,我得到一个1151:内部命名空间中的定义 XXXX 存在冲突,这非常有意义。
有没有办法做到这一点,而不必将所有输入引用作为函数的参数传递给函数?