控制器外部的访问服务

时间:2013-03-25 20:58:39

标签: javascript angularjs

我试图根据存储在服务中的值隐藏和显示菜单项。它是一个基于$cookies.accessToken中存储的accessToken记录用户的会话服务:

app.service('Session', function ($cookies, $location) {
  var Session = {
    isLoggedIn: !! $cookies.accessToken,
    accessToken: $cookies.accessToken,

    login: function (token, redirectTo) {
      this.accessToken = token;
      this.isLoggedIn = true;

      if (redirectTo) {
        $location.path(redirectTo);
      }
    },
    logout: function () {
      this.accessToken = false;
      this.isLoggedIn = false;
    }
  };

  if (Session.accessToken) {
    Session.login(Session.accessToken)
  }

  return Session;
});

我目前有3个控制器并使用ngView指令来显示相应的部分。但是,正如你可以想象的那样,我不想要"退出"或者" auth"链接显示:

  <div class="container">
    <nav>
      <ul class="nav nav-tabs">
        <li><a href="#/public">public</a></li>
        <li><a href="#/logout">log out</a></li>
        <li><a href="#/auth">auth</a></li>
      </ul>
    </nav>

    <div ng-view></div>
  </div>

我试过了ng-hide="Session.isLoggedIn",但那并没有成功。那么,做我想做的事情的正确方法是什么?

0 个答案:

没有答案