0

我有一个具有“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上面的另一个函数中访问属性?

4

1 回答 1

0

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

在这种情况下,“用户”是您的对象,如 User.as 中所定义,您需要它的一个实例,方法是调用

_currentUser = new User();

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

于 2012-07-23T13:00:27.040 回答