我有一个从许多地方调用的LoginView.mxml类。我想知道是否存在一种方法来知道从哪个类调用LoginView.mxml?
修改
我没有说好这个问题。这是场景
我有一个名为 LoginView.mxml 的视图和另外两个视图,例如 AAAView.mxml 和 BBBView.mxml 。 AAAView和BBBView都使用 navigator.pushView(LoginView)调用LoginView。
现在我想在LoginView中找到一些代码,它可以告诉我AAAView是否已经调用它。
答案 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的任何函数中。