0

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

编辑

我没有很好地表达这个问题。这是场景

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

现在我想要 LoginView 中的一些代码,它可以告诉我 AAAView 是否调用了它。

4

1 回答 1

0

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

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 ...
}

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

您可以使用 if (data.toString() == "AAAView") 块。在 LoginView 的任何函数中。

于 2012-12-01T21:54:14.800 回答