1. ホーム
  2. angularjs

[解決済み] Angularのui-routerでデフォルトの状態を設定する方法

2022-02-17 09:49:37

質問

テーブルのデータを変更するために状態を使用しています。 URLは以下のような形式です。 /zone/:zoneCode .
しかし、単に /zone がアクセスされた場合、デフォルトで特定の zoneCode .

これは私のコードです。

.state('zone',
{
    url:'/zone',
    controller:'ZoneController',
    templateUrl:'views/zone.html'
})
.state('zone.code',
{
    url:'/:zoneCode',
    templateUrl:function(stateParams)
    {
        return 'views/zone-codes/'+stateParams.zoneCode+'.html';
    }
}

各サブビューに読み込まれるテンプレートには、データを表示するためのテーブルが含まれています。
がない場合 zoneCode がURL内に存在しない場合は、テーブルが存在しないことになります。 ui-view を読み込むことを知りませんでした。 templateUrl .

親状態のデフォルトを設定するには?

ありがとうございます。

解決方法は?

かなり古い質問ですが、私も同じ問題に直面したので、回答を提供したいと思います。回答は以下の通りです。 このStackoverflowの質問で . その答えをあなたのケースに当てはめるには。

$urlRouterProvider.when('/zone','/zone/'+zoneCode);

urlRouterProviderは、urlが[yoururl]/zoneであるかどうかを確認します。もしそうであれば、[yoururl]/zone/zoneCodeにリダイレクトし、zoneCodeはあなたが指定したものになります。

誰かのお役に立てれば幸いです。