0

ユーザーがログインしていない場合は表示されないビューにナビゲーションバー ul があります。このために、ng-show="session.exists()" を使用しています。ログアウト ボタン (ナビゲーション バー ビューでも) をクリックすると、次のように呼び出されます。

$scope.logout = function () {
  var success = function () {
    $state.transitionTo('login');
  };
  console.log($scope.session.exists());
  Auth.logout().then(success);
  console.log($scope.session.exists());
};

私のログ ステートメントから、セッションが正常に破棄されていることがわかりますが、非表示にしたい el 要素がまだ表示されています。ページを更新すると要素が非表示になります。ここでトリックがありませんか?私はAngularが初めてで、プロジェクトを継承しているので、どんな提案も大歓迎です!

C

4

2 に答える 2

0

おそらくngShow、ユーザー セッションを破棄するときに関数が起動されていません。

変数を使用してそれを制御し、ログアウト機能で設定することをお勧めします。

コントローラーで:

$scope.loggedIn = true;
$scope.logout = function() {
    $scope.loggedIn = false;
}

そしてあなたの見解では:

<div data-ng-show="loggedIn">Show Me!</div>
于 2013-10-23T12:42:57.030 に答える