NativeScript + angular 2 : 后退按钮点击监听器的使用

NativeScript + angular 2 : Use of back button click listener

我正在使用 NativeScript + Angular 2.

开发跨平台移动应用程序

我想处理当前视图的后退按钮单击,即当用户单击 android 设备中的后退按钮时,我想执行诸如从堆栈中删除/删除当前视图的操作。

例如: 在 android 平台(本地开发)中,我们可以使用 activity 的 finish() 方法将其从堆。我们可以像 -

这样处理 onBackPressed()
@Override
public void onBackPressed()
{
    finish();  //Removes current Activity from stack
}

那么在NativeScript + angular 2中有什么方法可以处理onBackPressed()finish()方法吗?我在谷歌上搜索了很多但没有找到任何解决方案,还尝试了 Frame.goBack() in NativeScript + Angular 2,但对我没有用。它在 NativeScript + JavaScript.

中运行良好

更新

我想从堆栈中永久删除视图,因为应用程序不再需要它。它应该在应用程序安装时第一次显示。

例如:

喜欢登录屏幕

1) 安装应用程序时应显示登录屏幕,下次启动应用程序时,应用程序将自动跳过登录屏幕并移至主屏幕(这工作正常)

2) 但问题是,当我从主屏幕按下后退按钮时,应用程序每次都会导航到登录屏幕,因为登录屏幕仍然存在于 STACK 中。所以这就是为什么我想从堆栈中永久删除登录屏幕。

你需要实现返回的是注入 Location 并使用方法 back()

import {Location} from '@angular/common';

@Component({ ... })
export class MyComponent {
    constructor(private location: Location) { }

    public goBack() {
        this.location.back();
    }
}

此时当用户返回时,您不必担心会显式破坏视图,因为没有用于返回的移动选项"forward"