[解決済み] AngularJSの戻るボタン
2022-02-11 13:20:02
質問
PhonegapとAngularJSを使って、Androidアプリを作る作業をしています。ブラウザの「戻る」ボタンを押すだけで、「キャンセル」ボタンと「戻る」ボタンの両方として使用できるボタンを作成しようとしています。
以下は、キャンセルボタンのHTMLのサンプルです。
<a href="#" ng-click="goBack()" class="button--cancel weight--bold vertical-align--middle text-center">cancel</a>
そして、これがそのページのコントローラで、goBack()ボタンがあります。
function NewOccasionCtrl($scope, $window) {
$scope.$window = $window;
$scope.goBack = function() {
$window.history.back();
};
}
これはエラーにはなりませんが、うまくいきません...エミュレータは同じページを表示したままです。この場合
$scope.$window = $window
はエラーを投げます。私は、ディレクティブを作成/使用することなく、機能的な「戻る」ボタンを実現したいと考えていました。私が理解する限り、ディレクティブはテンプレートや私が必要としないものを実装しているからです。
このような方法はありますか?ありがとうございます。
どのように解決するのですか?
私は、バック機能を再利用可能にするために、ディレクティブを使用することにしました。以下は、私の最終的なコードです。
HTMLです。
<a href back-button>back</a>
ジャバスクリプトです。
app.directive('backButton', function(){
return {
restrict: 'A',
link: function(scope, element, attrs) {
element.bind('click', goBack);
function goBack() {
history.back();
scope.$apply();
}
}
}
});
関連
-
[解決済み】Dalvikとdalvik-cacheとは何ですか?
-
[解決済み] [Solved] Error "File google-services.json is missing from module root folder. これがないとGoogle Services Pluginは機能しません" [重複]。
-
[解決済み】"ビットマップが大きすぎてテクスチャにアップロードできない"
-
[解決済み] AngularJSでデータバインディングはどのように機能するのですか?
-
[解決済み] AngularJSを使用して、ブラウザのコンソールで$scope変数にアクセスするにはどうすればよいですか?
-
[解決済み] AngularJSで$scope.$watchと$scope.$applyを使用するにはどうすればよいですか?
-
[解決済み] AngularJS コントローラにおける 'this' と $scope の比較
-
[解決済み] AngularJS テンプレートにおける if else ステートメント
-
[解決済み】AngularJSのディレクティブスコープにおける「@」と「=」の違いは何ですか?
-
[解決済み】AngularJSのスコーププロトタイピング/プロトタイピング継承のニュアンスとは?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】メソッド 'findViewById(int)' を解決できない。)
-
[解決済み】com.android.ide.common.process.ProcessException: aaptの実行に失敗しました! どうすればいいですか?
-
[解決済み】java.lang.RuntimeException: アクティビティを開始できない ComponentInfo
-
[解決済み】Androidエミュレータのエラーメッセージ。"PANIC: Missing emulator engine program for 'x86' CPUS." (パニック: エミュレータ・エンジン・プログラムがありません)
-
[解決済み】リストビューにonclicklistenerを追加する(android)
-
[解決済み】カメラサービスへの接続に失敗しました。
-
[解決済み】'dependencies' を '(groovy.lang.Closure)' に適用できない。)
-
[解決済み] TypeError: cb.apply は関数ではありません。
-
[解決済み] BIOSのセキュリティ設定でVT-xを有効にする(お使いのコンピュータのドキュメントを参照)。
-
[解決済み] AngularJS 。scope.apply()呼び出し時の$digest already in progressエラーを防ぐ。