私はangularjsとfirebaseの専門家ではありませんが、私はこの短いコードを作ったので、なぜ動作しませんか解決できません。AngularJS + Firebase ng-showは動作しません
ユーザーがログインしているかどうか(firebase認証あり)、ユーザーがログインしているかどうかテストする必要があります。私は 'div'要素を表示します。ユーザーがログインしていない場合は、「div」を非表示にしてください。
私のhtmlコードはこのようになります。
<body ng-app="myApp" ng-controller="myCtrl">
<div class="memberonly" ng-show="loggedIn">
<h1>This is visible only for logged in user.</h1>
</div>
<body>
、スクリプトはここにある:コンソールで
<script>
var app = angular.module('myApp', ['ngRoute']);
app.controller('myCtrl', function($scope) {
firebase.auth().onAuthStateChanged(function(user) {
if (user) {
// User is signed in.
console.log('user logged in.');
$scope.email = user.email;
console.log($scope.email);
$scope.loggedIn = true;
console.log('$scope.loggedIn: ', $scope.loggedIn);
} else {
// No user is signed in.
console.log('no user logged in.');
$scope.loggedIn = false;
console.log('$scope.loggedIn: ', $scope.loggedIn);
}
});
});
</script>
私は正しい値が、それでもNG-ショーはない作品をして見ることができます。 私はユーザーがログインしているのを見て、私は彼の電子メールを参照して、loggedInが 'true'に設定されていることを確認します。 助けてもらえますか?
ありがとうございました。
アプリでどこかに 'loggedIn'と呼ばれる' $のscope'変数を持っていますか? 'loggedIn'変数の名前を変更して、動作しているかどうか確認してください。 – Merlin
いいえ、これはそれがある場所です。 –