[解決済み] Angular JS $locationChangeStart 次の url ルートオブジェクトを取得する
2022-02-02 10:04:28
質問
ルートが変更されたときに、ルートがユーザーに対して認可されているかどうかをチェックしたいのですが、Angularアプリケーションに認可を実装しようとしています。私はと試してみました
$routeChangeStart
が、イベントを防ぐことができません。
私の現在のコードです。
$scope.$on('$routeChangeStart', function(event, next, current) {
if(current_user.is_logged_in){
var route_object = next.route_object;
if(!(route_object.route_roles)){
event.preventDefault();
}
}
});
ここで、私の
next
オブジェクトに設定されている route_object を取得しています。
$routeProvider
var routes = object;
app.config(function($routeProvider) {
$routeProvider.when(url, {
templateUrl: "/users.html",
route_object: routes,
});
});
routes
は私の関数内で形成されるオブジェクトですが、私が
$locationChangeStart
私はちょうど次のページと前のページのURLを取得しています。
ルートオブジェクト全体を取得するにはどうすればいいですか?
解決方法は?
ルートパラメータを
$locationChangeStart
イベントリスナーはこのようになります。
$scope.$on('$locationChangeStart', function(event, next, current) {
if(current_user.is_logged_in){
var route_object = ($route.routes[$location.path()]).route_object; //This is how you get it
if(!(route_object.route_roles)){
event.preventDefault();
}
}
});
そうすると、古典的なpreventDefaultメソッドが仕事をすることになります。以下は プランカー というようなことを書きました。
関連
-
[解決済み] select 要素のデフォルト値を設定するための ng-option の使用方法
-
[解決済み] AngularJSのng-showとフェードアニメーション
-
[解決済み] ag-gridの行の追加/削除
-
[解決済み] どのようにangularJSでrouteProviderとlocationProviderを設定するのですか?
-
[解決済み] ディレクティブ '...' が要求するコントローラ 'ngModel' が見つかりません。
-
[解決済み] Angularjsを使用してローカルストレージにデータを保存するにはどうすればよいですか?
-
[解決済み] Jasmineの "callThrough "と "callFake() "の実用的な例が欲しい
-
[解決済み] angularJSの::の意味するところ
-
[解決済み] angular-routeとangular-ui-routerの違いは何ですか?
-
[解決済み] Angular - ui-router 前の状態を取得する
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】npm UNMET PEER DEPENDENCYの警告を修正するにはどうすればいいですか?
-
[解決済み】Angularjs accordion ng-click on panel-header
-
[解決済み] AngularJSで$httpリクエスト中にスピナーGIFを表示する?
-
[解決済み] X-Frame-Options'を'SAMEORIGIN'に設定しているため、フレーム内での表示を拒否された。
-
[解決済み] 'ApplicationSignInManager' が見つからない(ASP.NET MVC)
-
[解決済み] AngularJS の ng-disabled ディレクティブに式を指定しても動作しない
-
[解決済み] AngularJs .$setPristineでフォームをリセットする
-
[解決済み] Jasmineの "callThrough "と "callFake() "の実用的な例が欲しい
-
[解決済み] AngularJSでコントローラを2回実行する場合の対処法
-
[解決済み] AngularJSでEnterキーを押したときにフォームを送信する