2016-06-27 67 views
2

我正在開發使用NativeScript +角2跨平臺移動應用程序的使用。NativeScript +角2:後退按鈕點擊收聽

我想要處理回到當前視圖的按鈕點擊時,即當用戶點擊在機器人設備後退按鈕時,我想像殺死/刪除從堆棧中的當前視圖中執行的動作。

例如:在android平臺(Native Development)中,我們可以使用finish()活動的方法將其從堆棧中移除。我們可以處理onBackPressed()一樣 -

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

那麼,有沒有辦法來處理onBackPressed()finish()方法NativeScript +角2?我用Google搜索了很多,但沒有發現任何解決方案,也NativeScript + 2角試圖Frame.goBack(),但並沒有爲我工作。它在NativeScript + JavaScript中效果很好。

UPDATE

我想因爲它不需要在應用程序的任何更多的從堆棧中永久刪除視圖。它應該在應用程序安裝時第一次顯示。

對於前:

登錄屏幕

1)當應用程序安裝,然後登錄屏幕應該顯示以及未來推出的應用程序,應用程序會自動跳過登錄屏幕,並移動到主屏幕(這是工作的罰款)

2)但問題是,當我從主屏幕按返回鍵,然後應用程序導航,因爲登錄屏幕仍然存在於STACK每次登錄屏幕。所以這就是爲什麼我想從堆棧中永久刪除登錄屏幕。

回答

3

您需要實現回去被注入位置和使用方法回來怎麼辦()

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

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

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

在當用戶回到這個時候,你不應該擔心破壞明確因爲是去「前進」沒有移動選項視圖

+1

。在你的代碼的一個更新,位置類的注射應從進口「@角/通用」不是從「@角/路由器過時」。我正在更新你的代碼:)謝謝。 –

+0

嗨尼克,我有關於登錄屏幕的另一個問題。請在同一個問題中檢查我的更新,並告訴我是否有任何方法。謝謝:) –

+0

嘿Onkar您正在尋求在這個非常時刻沒有實現,但它在這裏討論的功能https://github.com/NativeScript/nativescript-angular/issues/309這裏:https://github.com/ NativeScript/nativescript-angular/issues/284,那裏你可以從源碼本身跟蹤它的發展:) –