2016-06-12 7 views
0

ハードウェアのバックボタンを別のコントローラでクリックする必要があります。私は、各コントローラに次のコードを使用:ionic異なるコントローラの異なるハードウェアバックボタンコールバック

$ionicPlatform.onHardwareBackButton(function() { 
    alert("click on hardware back button"); 
} 

1つのコントローラでregisterBackButtonActionを使用するときに問題があるが、すべてのコントローラで同じアクションを上書きするようです。 私はこのコードをapp.run()に入れて州名を調べることができますが、戻るボタンをクリックするとコントローラの特定のプロパティ(と関数)にアクセスする必要があるので、app.runを入れても動作しません。

誰でも私にこれを助けることができますか? おかげ

実際

答えて

0

あなたは

はここを見て

$ionicPlatform.registerBackButtonAction(function(e) { 
    //do your stuff 
    if($state.current.name=="login") { 
     console.log(e); 
    e.preventDefault(); 
    alert('login'); 
    //navigator.app.exitApp(); 
    } 
    else{ 

     $ionicHistory.goBack(); 
    } 

    }, 101); 

あなたは、コントローラの内部で上記のコードを使用して、それはあなたのように動作するはずの状態を挙げることができるregisterBackButton内の自分の状態を言及することができます他にもあなたのものをやることができます。

は、詳細については、あなたの答えのために、このtutorial

+0

こんにちは@MohanGopiと感謝を見てみることができます。しかし、あなたが私があなたが提案したもののような何かをすることができることを知っていることを私が指摘した質問を見るなら。しかし、問題は私がregisterBackButtonActionで各コントローラの専用$スコープにアクセスする必要があることです。私は1つのコントローラに配置する場合、私はそれにアクセスすることができます$スコープと他のルートの$スコープにアクセスすることはできません。 tnx –

+0

はそのために$ rootscopeを使用します –

関連する問題