1
我正在使用Facebook登錄我有困難正確設置$scope.user
。它不會在回調中自動設置,而只會在頁面上點擊其他內容。我敢肯定這是簡單的我想念但可以使用一些幫助。角度範圍不更新
我的HTML
<nav class="navbar navbar-default navbar-fixed-top"
role="navigation" ng-controller="HomeCtrl">
<p class="navbar-text pull-right">
{{ user.name }}
</p>
<button
class="btn btn-default navbar-btn navbar-right"
ng-hide="user"
ng-click="login()">Log In With Facebook
</button>
</nav>
HomeCtrl:
.controller('HomeCtrl', function($scope) {
$scope.user;
(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/sdk.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
$scope.login = function() {
FB.login(function(response) {
if (response.status === 'connected') {
FB.api('/me', function(response) {
console.log(response);
$scope.user = response;
});
}
}, {scope: 'public_profile,email,user_friends'});
}
})
如果我跑console.log($scope.user)
後,我將它設置爲響應時,它好像$scope.user
被設定,但是,它不會反映在HTML直到點擊另一個元素之後。
這是衆多'$範圍的一個$適用()'相關的問題,我猜? – PSL 2014-09-28 16:41:02
@PSL,是的。留下一個答案,我會接受,謝謝。 – user2954587 2014-09-28 16:42:52