コントローラとテンプレートの両方がアクセスできるisLoggedIn()関数が必要です(テンプレートはng-show = "isLoggedIn()"のようなことをするためにそれを必要とします)。これを行うための最良の方法は何ですか?
答えがサービスの場合、テンプレート内からサービスにアクセスすることは可能ですか、それとも各コントローラーがテンプレートを表示するためのラッパー関数を作成する必要がありますか($ scope内)?
コントローラとテンプレートの両方がアクセスできるisLoggedIn()関数が必要です(テンプレートはng-show = "isLoggedIn()"のようなことをするためにそれを必要とします)。これを行うための最良の方法は何ですか?
答えがサービスの場合、テンプレート内からサービスにアクセスすることは可能ですか、それとも各コントローラーがテンプレートを表示するためのラッパー関数を作成する必要がありますか($ scope内)?
私は通常、bodyタグに「MainCtrl」を入れてグローバルなものを入れています。
<body ng-controller="MainCtrl">
...
</body>
function MainCtrl($scope, authService) {
$scope.isLoggedIn = function() {
return authService.isLoggedIn();
}
}
その後、他のすべてのスコープはisLoggedIn関数を継承します。
isLoggedInを$rootScopeに配置することもできますが、私はこの方法が好きです。