仅在一处禁用警告

发布于 2024-10-15 00:12:59 字数 391 浏览 7 评论 0原文

在 MXML 代码中,

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

我收到警告:

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

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

如何仅在一处禁用警告?禁用整个文件不太好,但可以接受。

In an MXML code

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

I'm getting a warning:

Data binding will not be able to detect assignments to "data"

I know that the data provider will be never changed in this case, and want to suppress this warning in this case, but I don't want to completely disable it, -show-binding-options=false in all project is not an option.

How to disable a warning only in one place? Disabling for the whole file is not so good, but acceptable.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

深府石板幽径 2024-10-22 00:12:59

让您的 data 变量可绑定怎么样?像这样的东西:

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

How about just making your data variable bindable? Something like:

<fx:Script>
   [Bindable]
   public var data:ArrayCollection = new ArrayCollection();
</fx:Script>
<s:DataGroup dataProvider="{data}" />
瑾夏年华 2024-10-22 00:12:59

您可以使用 ,而不是使用 。该 MXML 元素中声明的任何对象都是可隐式绑定的。您的代码将如下所示:

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

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

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

顺便说一句,对于更简洁的代码,一般建议是将 ActionScript 与 MXML 完全分离。例如,在我的项目中,我为每个 MXML 组件创建一个单独的 ActionScript 文件,格式为 Includes.as

Instead of using <fx:Script></fx:Script> you could use <fx:Declarations></fx:Declarations>. Any object declared in that MXML element is bindable implicitly. Here's how your code will look like then:

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

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

Additionally it becomes much more readable and there's no mix of ActionScript and MXML. Because your collection is declared as public it makes difference whether to use ActionScript with [Bindable] or using MXML.

BTW, a general recommendation for cleaner code is to separate ActionScript completely from MXML. For instance in my projects I create a separate ActionScript file for each MXML component in the form <NameOfComponent>Includes.as.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文