从FLEX中调用当前类的位置?

时间:2012-11-30 06:18:04

标签: actionscript-3 class flex flex3

我有一个从许多地方调用的LoginView.mxml类。我想知道是否存在一种方法来知道从哪个类调用LoginView.mxml?

修改

我没有说好这个问题。这是场景

我有一个名为 LoginView.mxml 的视图和另外两个视图,例如 AAAView.mxml BBBView.mxml 。 AAAView和BBBView都使用 navigator.pushView(LoginView)调用LoginView。

现在我想在LoginView中找到一些代码,它可以告诉我AAAView是否已经调用它。

1 个答案:

答案 0 :(得分:0)

navigator.pushView(viewToPopUp,data)的第二个参数是一个对象类型。你可以在那里放任何你想要的东西。在您的情况下,您可能希望放置一个字符串,该字符串指示此调用所在的View的名称。

在AAAView的某处:

protected function someButton_click(e:MouseEvent):void
{
     navigator.push(LoginView, "AAAView");
}

然后在你的LoginView.mxml:

protected function loginView_creationComplete(e:Event):void
{
     if (data.toString() == "AAAView")
     {
       // do what you need if AAAView was the one that popped up LoginView
     }
     else ...
}

每个视图都有一个object类型的数据成员。如果您的视图不是另一个视图中的navigator.pushViewed,或者navigator.pushView没有指定第二个参数,则它为null。

您可以拥有if(data.toString()==“AAAView”)块。在LoginView的任何函数中。