UI-Routerを使った親状態への遷移時に子状態への誘導
2023-08-15 12:25:46
質問
次のように考えてください。
.state('manager.staffList', {url:'^/staff?alpha', templateUrl: 'views/staff.list.html', data:{activeMenu: 'staff'}, controller: 'staffListCtrl'})
.state('manager.staffDetail', {url:'^/staff/{id}' , templateUrl: 'views/staff.html', data:{activeMenu: 'staff'}, controller: 'staffDetailsCtrl'})
.state('manager.staffDetail.view', {url:'/view', templateUrl: 'views/staff.details.html', data:{activeMenu: 'staff'}})
.state('manager.staffDetail.view.schedule', {url:'/schedule', templateUrl:'views/staff.view.schedule.html', data:{activeMenu: 'staff'}})
.state('manager.staffDetail.view.history', {url:'/history' , templateUrl:'views/staff.view.history.html', data:{activeMenu: 'staff'}})
.state('manager.staffDetail.view.log', {url:'/log', templateUrl:'views/staff.view.log.html', data:{activeMenu: 'staff'}})
.state('manager.staffDetail.view.files', {url:'/files', templateUrl:'views/staff.view.files.html', data:{activeMenu: 'staff'}})
.state('manager.staffDetail.edit', {url:'/edit', templateUrl: 'views/staff.edit.html', data:{activeMenu: 'staff'}})
もし私が
domain.com/staff/1234/view
に移動した場合、どのようにデフォルトで
manager.staffDetail.view.schedule
の子状態にするにはどうしたらよいでしょうか?
どのように解決するのですか?
-
まず、プロパティを
'manager.staffDetail.view'
の状態にします。abstract:true
. これは必須ではありませんが、この状態に直接行くことはなく、常にこの状態の子状態のいずれかに行くことになるので、これを設定したいと思います。 -
次に 一つ のいずれかを実行します。
-
を与える。
'manager.staffDetail.view.schedule'
状態に 空の URL . これは、親状態のurlに何も追加しないので、親状態のurlと同じurlにマッチするようになります。.state('manager.staffDetail.view.schedule', {url:'', ...
-
また、デフォルトの子ルートのurlを変更しないようにしたい場合は、子ルートのurlに リダイレクト を設定します。このコードでは
'/staff/{id}/view'
の場所を'/staff/{id}/view/schedule'
:$urlRouterProvider.when('/staff/{id}/view', '/staff/{id}/view/schedule');
-
関連
-
[解決済み] エラーが発生しました。クライアントに送信された後にヘッダーを設定できない
-
[解決済み] ジェスト あるクラスの特定のメソッドをモックする方法
-
[解決済み] Node.jsでbase64エンコードされた画像をAmazon S3へアップロードする
-
[解決済み] javascript の関数から `undefined` と `null` のどちらを返すのが良いのでしょうか?
-
[解決済み] 文字列がhtmlであるかどうかをチェックする
-
[解決済み] オブジェクトの配列からReactコンポーネントをレンダリングする
-
[解決済み] BlobからArrayBufferへ移行する方法
-
[解決済み] モデルフェッチ時に1をtrueに、0をfalseに変換する方法
-
[解決済み] JavaScriptで長い配列を小さい配列に分割する方法
-
[解決済み] V8 Javascript エンジンのスタンドアロン実行
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] JavaScriptで次の要素/前の要素を取得しますか?
-
[解決済み] Node.jsでbase64エンコードされた画像をAmazon S3へアップロードする
-
[解決済み] 文字列がすべて同じ部分文字列で構成されているかどうかを調べるにはどうすればよいですか?
-
[解決済み] Reactコンポーネントでthis.setStateを複数回使用するとどうなりますか?
-
[解決済み] JavaScriptでの大文字小文字を区別しない正規表現
-
[解決済み] AngularJS - ngRepeatフィルタリングされた結果の参照を取得する方法
-
[解決済み] JavaScript で css プロパティを使用して HTML 要素の背景色を設定する方法
-
[解決済み] jQueryのバージョン1、バージョン2、バージョン3の違いは何ですか?[クローズド]
-
[解決済み] これは純関数ですか?
-
[解決済み] AngularJSのUI-Routerでステートをデフォルトのサブステートにリダイレクトする。