0
私はアイテムにui-sref
というメニューを持っています。私はメニューのルート「1」をクリックするとui-routerビューは以前解決していない間に新しいルートを試しても同じです
、その後、メニューのルートをクリックして「2」のルートの前に「1」に解決され、ルートの、ビューを「2」にはまり込みます:
を今、私はメニューをクリックしてくださいアイテム '3'。 Chromeの[ネットワーク]タブで、ルート '3'が解決されています。 URLはルート '3'のURLに変更されます。しかし、ui-view
では、経路 '2'のビューはまだロードされています。
$stateChangeError
イベントは発生しません。コンソールはクリアです。ここで
は私のコンポーネントベースのルートの例です:
.state('main-app.sequences-mails', {
url: '/sequences/mails',
component: 'mailsComponent',
resolve: {
mailsData: ['Outbox', function(Outbox) {
return Outbox.filter({
cat: 'inbox',
per_page: defaultSettings.perPage,
}).$promise;
}],
}
})
.state('main-app.sequences-mails-dialog', {
url: '/sequences/mails/{id:int}',
component: 'emailDialogComponent',
resolve: {
boxData: ['Outbox', '$stateParams', function(Outbox, $stateParams) {
return Outbox.get({ id: $stateParams.id }).$promise;
}],
}
})
エドガーでした? – nikjohn
これを再現するデモを作成します。約束を返すので、 '$ timeout()'を使って長い解決時間を作ることができます – charlietfl