仅在一个地方禁用警告

时间:2011-01-26 18:40:31

标签: flex flex4 mxml flash-builder compiler-warnings

在MXML代码中

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

我收到了警告:

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

我知道在这种情况下数据提供程序永远不会更改,并且想要在这种情况下禁止此警告,但我不想完全禁用它,所有项目中的-show-binding-options=false都不是一个选项

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

2 个答案:

答案 0 :(得分:2)

如何让你的data变量可绑定?类似的东西:

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

答案 1 :(得分:0)

您可以使用<fx:Script></fx:Script>而不是<fx:Declarations></fx:Declarations>。在该MXML元素中声明的任何对象都是可隐式绑定的。以下是您的代码的样子:

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

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

此外,它变得更具可读性,并且没有ActionScript和MXML的混合。由于您的集合被声明为public,因此使用ActionScript与[Bindable]或使用MXML会有所不同。

BTW,对清洁代码的一般建议是将ActionScript与MXML完全分开。例如,在我的项目中,我为<NameOfComponent>Includes.as形式的每个MXML组件创建一个单独的ActionScript文件。