我正在使用NativeScript + Angular 2开发跨平台移动应用程序。
我想处理当前视图的后退按钮单击,即当用户单击android设备中的后退按钮时,我想执行诸如从堆栈中删除/删除当前视图的操作。
例如:在android平台(本机开发)中,我们可以使用finish()
活动方法将其从堆栈中删除。我们可以像这样处理onBackPressed():
@Override
public void onBackPressed()
{
finish(); //Removes current Activity from stack
}
那么,NativeScript + angular 2有什么方法可以处理onBackPressed()
和处理吗?我在Google上搜索了很多,但是没有找到任何解决方案,并且还在NativeScript + Angular 2中尝试过,但是对我没有用。它在NativeScript + JavaScript中非常有效。finish()
Frame.goBack()
更新
我想从堆栈中永久删除视图,因为在应用程序中不再需要它。安装应用程序时,它应该第一次显示。
对于前:
点赞登录屏幕
1)安装应用程序后,将显示“登录”屏幕,并在下次启动该应用程序时,应用程序将自动跳过“登录”屏幕并移至主屏幕(工作正常)
2)但问题是当我从主屏幕按返回按钮时,由于登录屏幕仍存在于堆栈中,因此应用程序每次都导航至登录屏幕。这就是为什么我要从堆栈中永久删除登录屏幕。
您需要实现的方法是注入Location并使用方法back()
import {Location} from '@angular/common';
@Component({ ... })
export class MyComponent {
constructor(private location: Location) { }
public goBack() {
this.location.back();
}
}
此时,当用户返回时,您不必担心显式破坏视图,因为没有移动选项可以“前进”
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句