7

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

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

4

1 回答 1

5

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

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

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

然后其他所有作用域都将继承 isLoggedIn 函数。

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

于 2012-06-29T16:14:38.283 回答