angular jsに2つのコントローラーがあります。
- ナビゲーション バーを制御し、必要に応じてログアウト ボタンを表示するNavCtrl
- 認証とローカル ストレージの設定を担当するAuthCtrl
私が直面している問題は、両方のコントローラーでトークンを設定し、同じものを取得する際にすべてが正常に機能することです。
しかし、認証するときは、ページがレンダリングされたときに値を取得するため、NavCtrl の変更を確認するためにページをリロードする必要があります。それに応じて変更をレンダリングするlogin
または要求がある場合、通知を NavCtrl に渡す方法はありますか?logout
.controller 'AuthCtrl',($scope,User)->
$scope.login = ()->
User.auth $scope.username,$scope.password
return
return
.controller 'NavCtrl',($scope,User,$window)->
$scope.is_authenticated = $window.localStorage.getItem "authFlag"
console.log $window.localStorage.getItem "token"
console.log $window.localStorage.getItem "authFlag"
$scope.logout = ()->
User.logout()
$scope.is_authenticated = $window.localStorage.getItem "authFlag"
return
User
私が定義したファクトリでありauthFlag
、bool
認証ステータスを保存するものです。基本的に私はで行われた変更を聞きたいですauthFlag
また、可能であれば、これがベストプラクティスなのか、それとも私が何か間違ったことをしているのかについてコメントしてください.