由于一些Flex / AS3怪异而再次拔出我的头发。由于错误1120 - 访问未定义属性AbstractWizardModel
,以下代码无法编译<mx:HBox id="cntr_buttons" width="100%" horizontalAlign="right">
<mx:Button label="{model.getButtonLabel(AbstractWizardModel.GO_BACK)}" />
</mx:HBox>
常量(在AbstractWizardModel中)定义为:
[Bindable]
public class AbstractWizardModel extends EventDispatcher
{
public static const GO_BACK : String = "goBack";
...
}
用'“goBack”替换'AbstractWizardModel.GO_BACK'可以解决问题,但问题是什么?
谢谢!
PS:我当然要在MXML代码中导入AbstractWizardModel
答案 0 :(得分:0)
错误是关于AbstractWizardModel类,而不是常量GO_BACK。您需要在mxml文件中为该类创建一个import语句:
<mx:Script>
<![CDATA[
import the.package.AbstractWizardModel;
]]>
</mx:Script>
才能使用该课程。 编辑:替换“the.package”。无论班级所在的任何包裹。
答案 1 :(得分:0)
噢,这太奇怪了。
我找到了一种解决方案,感谢所有评论,这有助于我走上正轨,但仍然认为这是Flex中的一个错误。
首先,我必须添加(在我的代码中)MXML和AbstractWizardModel类位于相同的包中。
我正在调用的'getButtonLabel()'函数声明为
[Bindable(event="getButtonLabelChanged")]
public function getButtonLabel (buttonId:String) : String
{
..
}
如果我删除[Bindable ..]注释,代码就会编译。
如果我把它留在那里,我必须为AbstractWizardModel类添加一个导入,尽管它在同一个包中。无论如何,这也解决了这个问题。
但是:) FB4每次组织导入时都会删除该导入,因此用户评论也很有帮助。
很高兴听到你的想法!