IntelliJ mxml给出了在类型类中用作id的id属性的错误

时间:2012-06-07 17:48:03

标签: actionscript intellij-idea mxml

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

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

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

<valueobjects:Cat id="selected_cat"/>

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

先谢谢。

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

每个mxml标记中的id属性(无论是否可视)都可以作为从其余代码引用此对象的方法。

换句话说,它的标记相当于此。

var selected_car:Car

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

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

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