1

関数からクラスに変数を取得したい。

var.status以下のコードは私のクラスで、パブリッククラスに入りたいと思っています。

package
{    
    public class GetJson
    {
        public var loader:URLLoader = new URLLoader();
        public var status:String = "notlive"; // i want to get status var to here

        public function GetJson()
        {
            var request:URLRequest = new URLRequest("http://myurl.com/json.json");
            loader.load(request);

            loader.addEventListener(Event.COMPLETE, jsonLoaded);
        }

        public function jsonLoaded(event:Event):void
        {
            var jsonContent:URLLoader = URLLoader(event.target);
            var data:Object = JSON.parse(jsonContent.data);
            var status = data[0].status; // This the variable that i want to get up there
            trace(status);

            return;
        }
    }
}
4

1 に答える 1

1

statusクラスの変数として既に定義されています。

public var status:String = "notlive";

その変数を参照するときは、クラスのスコープとして、statusまたはthis.statusクラスのスコープから呼び出します。

その前にキーワードを挿入するvarと、関数に対してローカルな同じ名前の新しい変数を定義することになりjsonLoaded()ます。

したがって、関数内では次のようにする必要があります。

public function jsonLoaded(event:Event):void
{
    status = data[0].status;
}
于 2013-05-26T19:16:33.367 に答える