2017-02-09 7 views
1

私はこのルーティング設定を持っています。子ルートにアクセスするたびに常にotherwiseにリダイレクトされます。私はabstract:trueから/reportsを設定している/login

$stateProvider 
    .state('login', { 
     url: '/login', 
     templateUrl: 'views/login.html', 
     controller: 'LoginController as loginCtrl', 
    }) 
    .state('reports', { 
     abstract: true, 
     url: "/reports", 
     templateUrl: 'views/container.html', 
    }) 
    .state('reports.create', { 
     url: '/reports-create', 
     templateUrl: 'views/reports.html', 
     controller: 'ReportsController as reportsCtrl', 
    }); 

$urlRouterProvider.otherwise('/login'); 

この場合はどちらです。これは、ユーザーに/reportsへのアクセスを許可しないため、代わりに/reports-createにリダイレクトする必要があるためです。

ユーザーアクセス/reportsまたは/reports-createにアクセスするたびに、常に/loginにリダイレクトされます。

reports.createcreateにアクセスすると、/reports-createにアクセスできますが、私は/reportsにアクセスすることはできません。今

答えて

0

ユーザー・アクセスのいずれか/レポートまたは/レポートは作成するたびに、彼らは常に、それは抽象的だからあなたは、/reportsにアクセスすることができません/ログイン

にリダイレクトしています。また、あなたはレポートにアクセスする必要があります:URLに作成:/reports/reports-create、抽象的な親の状態は、子URLにURLを "prepends" beacuse。 こちらのドキュメントを参照してください:Abstract states

また確認して、親状態はui-viewはどこかでテンプレートだた、それが要求され、それは(私は上記のリンク先のドキュメントを確認してください)子状態テンプレートがにレンダリングされる場所であること。

もう1つ:私の子供URLの名前を/reports-createから/createに変更すると、最終的なURLははるかに良いでしょう:/reports/create

+0

はい、私は '

'をhtmlに載せています。 '/ reports'へのアクセスは'/login'ページでリダイレクトされますが、 '/ create'は起こってはいけません。それ以上は考慮する必要がありますか? – basagabi

+0

'/ reports/create'を試していますか? :)(単に '/ create'をもう一度書いたからです)。 はいの場合は、他のアイデアはありません。問題を示す例を作成します。 JSFiddleやそれに類するものであなたの設定は私には大丈夫ですが、おそらく問題はコードのどこかにあります – nagyf

関連する問題