另一个类的flex3属性为null

时间:2012-07-23 12:53:56

标签: actionscript-3 flex flex3

我有一个'user.as'类的应用程序,我有一个显示产品详细信息的弹出窗口。我想在这个弹出窗口中添加一个“市场”属性,但它不起作用。这是代码:

User.as:

package com.brb.domain
{

[RemoteClass(alias="com.brb.user.userIBO")]
[Table(name="User")]
[Bindable]
public class User
{
    /**
     * Id of the user.
     */
    [Id(strategy="assigned")]
    public var UserID: Number;

    public var market: String;

    public var isAuthenticated: Boolean;

    public function User()
    {
        super();
    }
}

}

然后我有一个Product.mxml类,它在弹出窗口中显示产品详细信息:

import com.brb.domain.Product;
import com.brb.domain.User;

...
[Bindable]
private var _product: Product;
[Bindable]
private var _currentUser: User;

public function set product( value: Product ): void
        {
this._product = value;
mySrc ="file:///C|/MultimediaSync/market_"+this.market.toString()+"/pictures/"+imageName;   
trace(this._currentUser.market.toString());
...

}

以上是回归:

  

TypeError:错误#1009:无法访问空对象引用的属性或方法。

我的问题是如何在上述其他功能中访问User.as class中的属性?

1 个答案:

答案 0 :(得分:0)

Flex是一种面向对象的语言。这意味着(在大多数情况下,排除称为“静态”的东西),您需要对象实例来访问其特征。

在这种情况下,'User'是你的对象,如User.as中所定义的那样,你需要一个实例,通过调用

_currentUser = new User();
在您尝试引用_currentUser.market之前,在您的MXML中的某处。此new User()语法称为实例化对象或创建实例。之后,_currentUser保存对该对象实例的引用,该实例具有您可以访问的_market属性。