在AngularJS中创建isLoggedIn函数的最佳方法是什么,可以在任何控制器或模板中访问?

时间:2012-06-29 13:06:59

标签: javascript angularjs

我需要一个isLoggedIn()函数,控制器和模板都可以访问(模板需要它才能执行类似ng-show =“isLoggedIn()”的操作)。最好的方法是什么?

如果答案是服务,那么是否可以从模板中访问服务,或者我的每个控制器是否需要为模板创建一个包装函数来查看它(在$ scope中)?

1 个答案:

答案 0 :(得分:5)

我的身体标签中通常有一个'MainCtrl',并将全局内容放入其中。

<body ng-controller="MainCtrl">
  ...
</body>

function MainCtrl($scope, authService) {
  $scope.isLoggedIn = function() {
    return authService.isLoggedIn();
  }
}

然后每个其他范围都将继承isLoggedIn函数。

您也可以将isLoggedIn放在$ rootScope上,但我喜欢这样。

相关问题