Apache flex 仅在一个位置禁用警告

Apache flex 仅在一个位置禁用警告,apache-flex,flex4,mxml,flash-builder,compiler-warnings,Apache Flex,Flex4,Mxml,Flash Builder,Compiler Warnings,在MXML代码中 <fx:Script> public var data:ArrayCollection = new ArrayCollection(); </fx:Script> <s:DataGroup dataProvider="{data}" /> 公共var数据:ArrayCollection=new ArrayCollection(); 我得到一个警告: 数据绑定将无法检测到“数据”的分配 我知道在这种情况下,数据提供程序将永远不会更改

在MXML代码中

<fx:Script>
   public var data:ArrayCollection = new ArrayCollection();
</fx:Script>
<s:DataGroup dataProvider="{data}" />

公共var数据:ArrayCollection=new ArrayCollection();
我得到一个警告:

数据绑定将无法检测到“数据”的分配

我知道在这种情况下,数据提供程序将永远不会更改,我想在这种情况下禁止此警告,但我不想完全禁用它,
-show binding options=false
in all project不是一个选项


如何仅在一个位置禁用警告?禁用整个文件不是很好,但可以接受。

让您的
数据可以绑定怎么样?比如:

<fx:Script>
   [Bindable]
   public var data:ArrayCollection = new ArrayCollection();
</fx:Script>
<s:DataGroup dataProvider="{data}" />

[可装订]
公共var数据:ArrayCollection=new ArrayCollection();
您可以使用
代替
。在该MXML元素中声明的任何对象都可以隐式绑定。下面是您的代码的外观:

<fx:Declarations>
    <s:ArrayCollection id="data" />
</fx:Declarations>

<s:DataGroup dataProvider="{data}" />

此外,它变得更具可读性,并且没有ActionScript和MXML的混合。因为您的集合被声明为公共集合,所以是将ActionScript与
[Bindable]
一起使用还是使用MXML是有区别的


顺便说一句,对于更干净的代码,一般建议将ActionScript与MXML完全分离。例如,在我的项目中,我以
Includes的形式为每个MXML组件创建了一个单独的ActionScript文件。有趣的是,我刚刚打开了一个干净的项目,其中只包含您上面编写的代码,并尝试添加和删除[Bindable]元数据标记。添加后,警告消失。你可以发布一个更大的代码片段吗?到目前为止没有好的答案。。添加[Bindable]有些过分,而且并不总是可能的。