javascript - कैसे $ $ से $ angularjs का दायरा अद्यतन करें?



jquery angularjs-scope (1)

आपको निम्न ब्लॉक को स्थानांतरित करने की आवश्यकता है:

InvitePeersService.setGmailContactsData(invitePeersController.gmailContacts);
console.log(invitePeersController.gmailContacts);
$scope.$apply(function () {
  $scope.gmailData = invitePeersController.gmailContacts;
  console.log($scope.gmailData);
})

में

function(response){

ब्लॉक करें, ताकि invitePeersController.gmailContacts को आरम्भ किया जा सके - जैसा कि कॉलबैक फ़ंक्शन में प्रतिक्रिया आती है।

इसलिए:

var scopes = "https://www.googleapis.com/auth/contacts.readonly";

setTimeout(authorize(), 20);

function authorize() {
  gapi.auth.authorize({client_id: clientId, scope: scopes, immediate: false}, handleAuthorization);
}
invitePeersController.gmailContacts = [];
function handleAuthorization(authorizationResult) {
  if (authorizationResult && !authorizationResult.error) {
    $.get('https://www.google.com/m8/feeds/contacts/default/thin?alt=json&access_token=' + authorizationResult.access_token + '&max-results=50000&v=3.0',
      function (response) {
        //process the response here
        console.log(response);
        var jsonChildData = JSON.parse(JSON.stringify(response.feed.entry));
        for (var i = 0; i < jsonChildData.length; i++) {
          try {
            var item = {};
            var name = JSON.stringify(jsonChildData[i].title.$t);
            var email = JSON.stringify(jsonChildData[i].gd$email[0].address);

            if (name.substring(1, name.length - 1) && email.substring(1, email.length - 1)) {
              item ['name'] = name.substring(1, name.length - 1);
              item ['email'] = email.substring(1, email.length - 1);
              item ['id'] = email.substring(1, email.length - 1).replace(/[^a-zA-Z ]/g, '');
              invitePeersController.gmailContacts.push(item);
            }

            InvitePeersService.setGmailContactsData(invitePeersController.gmailContacts);
            console.log(invitePeersController.gmailContacts);
            $scope.$apply(function () {
              $scope.gmailData = invitePeersController.gmailContacts;
              console.log($scope.gmailData);
            })
          }
          catch (err) {
            // console.log("Something went terribly wrong while trying to fetch Gmail Contacts Data");
          }
        }
      });
  }
}

मैं निम्नलिखित कोड का उपयोग करने की कोशिश कर रहा हूं और $scope का उपयोग कर रहा हूं:

var scopes = "https://www.googleapis.com/auth/contacts.readonly";

setTimeout(authorize(), 20);

function authorize() {
    gapi.auth.authorize({client_id: clientId, scope: scopes, immediate: false}, handleAuthorization);
}
invitePeersController.gmailContacts = [];
function handleAuthorization(authorizationResult) {
    if (authorizationResult && !authorizationResult.error) {
        $.get("https://www.google.com/m8/feeds/contacts/default/thin?alt=json&access_token=" + authorizationResult.access_token + "&max-results=50000&v=3.0",
            function(response){
                //process the response here
                console.log(response);
                var jsonChildData = JSON.parse(JSON.stringify( response.feed.entry));
                for(var i=0; i<jsonChildData.length;i++){
                    try {
                        var item = {};
                        var name = JSON.stringify(jsonChildData[i].title.$t);
                        var email = JSON.stringify(jsonChildData[i].gd$email[0].address);

                        if(name.substring(1, name.length-1) && email.substring(1, email.length-1)){
                         item ["name"] = name.substring(1, name.length-1);
                         item ["email"] = email.substring(1, email.length-1);
                         item ["id"] =  email.substring(1, email.length-1).replace(/[^a-zA-Z ]/g, "");
                        invitePeersController.gmailContacts.push(item);
                        }
                }
                catch(err) {
                 // console.log("Something went terribly wrong while trying to fetch Gmail Contacts Data");
                }
            }


            InvitePeersService.setGmailContactsData(invitePeersController.gmailContacts);
                    console.log(invitePeersController.gmailContacts);
                    $scope.$apply(function(){
                        $scope.gmailData = invitePeersController.gmailContacts;
                        console.log($scope.gmailData);
                    })


                });
            }
        }

    }

मैं $scope में प्रतिक्रिया प्राप्त कर सकता हूं लेकिन कहीं और डेटा प्राप्त नहीं कर सकता

मैं उस मूल्य का $scope में कैसे उपयोग कर सकता हूं?

इस सवाल का पालन करने की कोशिश की, और $scope.$apply() लागू किया $scope.$apply() लेकिन यह काम नहीं कर रहा है





google-contacts