0

我在 actionscript 中有一个类型化的类:

public class Cat {
    public var id:int;
    public var name:String;
}

我在 mxml 组件中使用实例变量:

<valueobjects:Cat id="selected_cat"/>

在 IntelliJ 中,cat 的 id 作为错误出现,“无效的整数值”,尽管它会编译而不会出错。此错误在编辑文件时出现在 IDE 中,并在底部将其列为错误。有谁知道告诉 IntelliJ 这个类或属性的任何技巧。或者是否有任何元数据标签来识别属性,以便 mxml 解析器满意?

提前致谢。

4

2 回答 2

0

是的,问题是,通常 id 是用于标记的字符串,用于设置字符串类型的 id。Flex 通过 UIComponent 或 IMXMLObject 支持。您不应在标记中使用 ValueObjects,除非该类实现 IMXMLObject。

于 2012-06-07T17:55:23.507 回答
0

要在标记中声明非可视对象,您必须在 Flex 4 及更高版本中使用 fx:declarations 标签。

每个 mxml 标记(无论是否可视)中的 id 属性充当从代码的其余部分引用此对象的一种方式。

换句话说,它相当于这个标记。

var selected_car:汽车

所以 id 必须始终是 String 属性。

在您的类中,您将 id 声明为 int 属性,这会使编译器感到困惑,因为它不知道哪个是有效的。

如果您需要在不更改类的情况下使用它,则必须使用 AS 而不是 MXML 创建实例。如果您需要使用 mxml(启用绑定等),您可能需要将属性名称更改为 catID 之类的名称。

于 2012-07-01T10:52:03.207 回答