Apache flex flashbuilder:“;访问未定义的属性Bindable“;
我继承了一个AdobeAIR应用程序,并试图通过FlashBuilder4.5对其进行调试。在Flash Builder中,当我查看其中一个MXML文件时,会看到每次使用Apache flex flashbuilder:“;访问未定义的属性Bindable“;,apache-flex,actionscript-3,binding,flash-builder,Apache Flex,Actionscript 3,Binding,Flash Builder,我继承了一个AdobeAIR应用程序,并试图通过FlashBuilder4.5对其进行调试。在Flash Builder中,当我查看其中一个MXML文件时,会看到每次使用[Bindable]标记时都会出现警告: [Bindable] internal var selectedPreviousID:String=null; [Bindable] internal var recent:mx.collections.ArrayCollection; 警告是: 访问未定义的可绑定属性 对于我认为合
[Bindable]
标记时都会出现警告:
[Bindable]
internal var selectedPreviousID:String=null;
[Bindable]
internal var recent:mx.collections.ArrayCollection;
警告是:
访问未定义的可绑定属性
对于我认为合适的库,有一点很重要:
导入mx.binding.utils。*
根据中的建议,每个警告前面的行上没有缺少分号
该项目配置为使用Flex SDK 3.6
此外,该文件将不会加载到设计器中,并出现以下警告:
设计模式:组件布局期间出错。选择设计>刷新以刷新设计模式
我错过了什么?在运行时,我看到一个空白窗口——我认为这是绑定未被触发的结果。这个标签在Flex SDK 3.6中不可用吗?通过逐个从代码中删除元素,我发现警告似乎是由前面的
元素声明引起的:
<mx:WebServiceid="service"
wsdl="https://blah.com/blah?WSDL"
operations='{{"Op1":this.method1()}}'/>
</mx:WebService>
触发此解析器问题。此代码是由反编译器生成的,因此可能是无效的
有一种替代语法可用于将操作指定为XML节点而不是属性:
<mx:WebServiceid="service"
wsdl="https://blah.com/blah?WSDL"/>
<mx:operation name="Op1" result="this.method1(event)">
<mx:request>
<token>{credentials.token}</token>
</mx:request>
</mx:operation>
</mx:WebService>
{credentials.token}
你能举个例子说明如何准确使用可绑定标签吗?(您可以尝试[Bindable()],这可能会解决问题)。首先,不要使用designer,它在我看来是垃圾。纯代码更容易查看。至于关于Bindable的警告,您不应该有问题,因为Bindable是Flex的一个组成部分,除非您键入了错误的内容,并且解析器认为您引用了其他内容。我已经编辑了这个问题,以包含相关代码的示例。由于版权问题,我无法将整个类粘贴到这里。我尝试过[Bindable()],但没有任何区别。这可能是IDE安装问题。[Bindable]是元数据,而不是属性,IDE已经疯了。可绑定在clean项目中起作用吗?
<mx:WebServiceid="service"
wsdl="https://blah.com/blah?WSDL"/>
<mx:operation name="Op1" result="this.method1(event)">
<mx:request>
<token>{credentials.token}</token>
</mx:request>
</mx:operation>
</mx:WebService>