2016-03-26 5 views
0

私は、googleなどのapiサービスでログインするために、dotansimha:accounts-ui-angularディレクティブをページに使用しています。このページには、ng-show="$auth.currentUser"のdivがあり、サインインしているユーザーがいない場合はdivを非表示にします。コードは素晴らしいですが、私はページを更新する必要があります。現在、ホームindex.htmlページに<login></login>タグを埋め込みました。 $ auth.currentUserの値を積極的にチェックして値を確認するにはどうしたらいいですか?

答えて

0

私はこの問題を解決しましたが、これがベストプラクティスかどうかはわかりません。

私のHTMLでは、私はユーザーが署名されていない場合は2つのリンクを非表示にしたい。私は私のツールバーディレクティブでng-show="$auth.currentUser"

を使用し、私は$auth.currentUser値の変化を監視するロジックを見て$を追加しました。

$scope.$watch('currentUser',function(newVal, oldVal){ 
    console.log(newVal, oldVal) 
    if(newVal !== oldVal || typeof newVal !== typeof {}){ 
     location.reload() 
     Meteor.loginWithSpotify(options, function(err){ 
     console.log(err || 'No error') 
     } 
    } 
    console.log(newVal, oldVal) 
    }) 

$ auth.currentUserの値が$ auth.currentUserの値と等しくない場合は$ auth.currentUserがCurrentUserに許可されているのtypeofオブジェクトでない場合は、このロジックは、ページをリロードしますオブジェクトです。

EX:もし(!ユーザデータ== NULL){リフレッシュページ}

希望、これは明らかです。

関連する問題