特定の状態に存在しないサイトナビゲーションがあります。アプリケーションがどの状態にあるかにかかわらず、常にページ上部に表示されます。状態の外で解決を使用することは可能ですか?
ユーザーの身元に応じて、特定のメニューオプションを表示/非表示にする必要があります。私はWindows認証を使用しているので、サーバーへの旅行は必要です。問題は、ナビゲーションバーが特定の状態に属していないため、解決策をどこに置くべきかわからないためです。
私は解決を置くことができる他の州の前に最初に解決されるグローバルな状態のようなものがありますか?
ような何か:私は$broadcast
を使用して考えられたが、その後、私はアプリケーションへのエントリのすべての可能な点が、ナビゲーションバーは、サーバーから必要な情報を取得し、汚染され、それを放送することを確認する必要があると思います
.state('$global', {
url: '/',
templateUrl: 'partials/navigation/navbar.html',
controller: 'NavCtrl',
resolve: {
navData: ['$http', 'SettingsFactory', 'ViewMatrixService', function($http, SettingsFactory, ViewMatrixService) {
return $http.get(SettingsFactory.APIUrl + 'api/nav', { withCredentials: true }).then(function (response) {
ViewMatrixService.GenerateHomeViewMatrix(response.data.CurrentUser);
return response.data;
});
}]
}
})
にすべての私の他のコントローラは、ナビゲーションバーの責任。
*は、UIルータとは何と対照的に、あなたのナビゲーションHTMLに含まれ、独自のコンポーネントのように聞こえます。 – Makoto
@Makoto私はUIルータの機能である解決策を使用しようとしています。この場合、私はステートレスな解決をしようとしており、可能かどうか疑問に思っています。 – Legion
はい、私はUIルータに精通しており、解決します。しかし、私がここで述べているのは、腸の感覚です。解決で物事を得ることができますが、ユーザーが認証されているかどうかに関わらず、何らかの状態を維持する必要があります。UI Routerを実際に使用したいとは思っていません。 – Makoto