我有一个'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
中的属性?
答案 0 :(得分:0)
Flex是一种面向对象的语言。这意味着(在大多数情况下,排除称为“静态”的东西),您需要对象的实例来访问其特征。
在这种情况下,'User'是你的对象,如User.as中所定义的那样,你需要一个实例,通过调用
_currentUser = new User();
在您尝试引用_currentUser.market
之前,在您的MXML中的某处。此new User()
语法称为实例化对象或创建实例。之后,_currentUser
保存对该对象实例的引用,该实例具有您可以访问的_market
属性。