3

NativeScript + Angular 2を使用してクロスプラットフォーム モバイル アプリケーションを開発しています。

現在のビューの戻るボタンのクリックを処理したい、つまり、ユーザーがAndroidデバイスの戻るボタンをクリックしたときに、スタックから現在のビューを削除/削除するなどのアクションを実行したい.

例: Android プラットフォーム (ネイティブ開発) ではfinish()、アクティビティのメソッドを使用してスタックから削除できます。onBackPressed() を次のように処理できます-

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

NativeScript + angular 2で処理onBackPressed()およびfinish()メソッドを実行する方法はありますか? 私はたくさんグーグルで検索しましたが、解決策が見つかりませんでした.NativeScript + Angular 2でも試しましたが、うまくいきませんでした. NativeScript + JavaScript でうまく機能します。Frame.goBack()

アップデート

アプリケーションでは不要になったため、ビューをスタックから完全に削除したいと考えています。アプリのインストール時に初めて表示されるはずです。

例:

ログイン画面のように

1) アプリのインストール時にログイン画面が表示され、アプリケーションの次回の起動時に、アプリは自動的にログイン画面をスキップしてホーム画面に移動します (これは正常に動作しています)。

2)しかし、問題は、ホーム画面から戻るボタンを押すと、ログイン画面がまだSTACKに存在するため、アプリが毎回ログイン画面に移動することです。そのため、ログイン画面をスタックから完全に削除したいと考えています。

4

1 に答える 1

3

戻ることを実装する必要があるのは、Locationを注入し、メソッドback()を使用することです

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

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

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

この時点で、ユーザーが戻ってきたときに、「進む」ためのモバイル オプションがないため、ビューを明示的に破棄することを心配する必要はありません。

于 2016-06-27T13:26:44.247 に答える