Utilice angular.element para get el object de scope por $ ID

Necesito pasar datos de una aplicación angular a scripts que se ejecutan fuera de angular porque no tengo acceso para editar el código de la aplicación angular.

Al usar las extensiones Angular Batarang y NG-Inspector para Chrome, puedo ver el object JSON del que necesito extraer, pero no sé cómo comenzar.

Por ejemplo, en Angular Batarang, el object se ve así:

$id=5 name: "listing" keys: 0: "alpha" 1: "beta" alpha: user: "test" userID: "12345" beta: address: "555 Elm St" phone: 555.555.5555 

Mi primer pensamiento fue que podía angular.element usando elementos angular.element pero no he tenido ningún éxito.

usted puede determinar a qué elemento está vinculado ese scope, seleccionar el elemento y tomar su scope a través de angular.element . Suponga que este ámbito está adjunto al elemento <div id="stuff"></div> , observe el siguiente ejemplo, específicamente, la llamada a .scope()

 <div ng-app="app" ng-controller="ctrl" id="stuff"></div> <button onclick="getStuff()">get stuff</button> 

 var app = angular.module('app', []).controller('ctrl', function($scope) { $scope.inside = { 'name': 'guy', 'idk': 'blah' } }); var getStuff = function() { var outside = angular.element(document.getElementById('stuff')).scope(); console.log(outside.inside) // retrieved "outside" of AngularJS } 

Ejemplo JSFiddle – demo