首页 文章

NativeScript angular 2:使用后退按钮单击侦听器

提问于
浏览
2

我正在使用 NativeScript + Angular 2 开发跨平台移动应用程序 .

我想处理当前View的后退按钮点击,即当用户点击android设备中的后退按钮时,我想执行一个动作,比如从堆栈中杀死/删除当前视图 .

For ex: 在android平台(Native Development)中,我们可以使用活动的 finish() 方法将其从堆栈中删除 . 我们可以处理onBackPressed()之类的 -

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

那么有没有办法在 NativeScript + angular 2 中处理 onBackPressed()finish() 方法?我google了很多,但没有找到任何解决方案,也尝试了NativeScript Angular 2中的 Frame.goBack() ,但没有为我工作 . 它在NativeScript JavaScript中运行良好 .

UPDATE

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

For ex :

喜欢 Login Screen

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

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

1 回答

  • 3

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

    import {Location} from '@angular/common';
    
    @Component({ ... })
    export class MyComponent {
        constructor(private location: Location) { }
    
        public goBack() {
            this.location.back();
        }
    }
    

    此时,当用户返回时,您不必担心显式销毁视图,因为没有移动选项可以“前进”

相关问题