У меня есть следующие кнопки:
<button id="facebook" type="button" ng-disabled="signing" ng-click="fblogin()">FACEBOOK</button>
<button id="google" type="button" ng-disabled="signing" ng-click="googleLogin()">GOOGLE</button>
Например, когда я нажимаю кнопку Google, он делает следующее:
$scope.googleLogin = function() {
$scope.signing = true;
document.getElementById('googleAuth').click();
};
Мой гапи делает это:
gapi.load('auth2', function(){
// Retrieve the singleton for the GoogleAuth library and set up the client.
auth2 = gapi.auth2.init({
client_id: 'MY ID',
cookiepolicy: 'single_host_origin',
scope: 'email',
// Request scopes in addition to 'profile' and 'email'
//scope: 'additional_scope'
});
attachSignin(document.getElementById('googleAuth'));
});
И кнопка становится неактивной, и это здорово, потому что я меняю $scope.signing
на TRUE.
НО когда возвращаюсь делаю так: $scope.signing = false;
и ничего не меняется, кнопка остается неактивной. Почему он не включает себя, когда я меняю подпись на false, мне нужно как-то сообщить html, чтобы обновить статус кнопок?
$scope.signing = false;
в блок$scope.$apply
. Это может решить проблему - person surajck   schedule 16.03.2017$scope.signing = {"result":false}
и измените свою кнопку наng-disabled="signing.result"
, это должно сработать. По сути, использование для этого примитивов (bool, число, строка) вместо сложных типов (массив, объект) даст неожиданные результаты. - person grimmdude   schedule 16.03.2017