2015-09-16 16 views
5

Muszę przekazywać dane z kanciastej aplikacji do skryptów uruchamianych poza zakresem, ponieważ nie mam dostępu do edycji kodu aplikacji kątowej.

Korzystanie z Angular Batarang i rozszerzeń NG-Inspector dla przeglądarki Chrome, widzę obiekt JSON, z którego muszę pobrać, ale nie mam pojęcia, jak zacząć.

Na przykład w Kątowymi Batarang, obiekt wygląda tak:

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

Moją pierwszą myślą było, mogłem go złapać za pomocą angular.element ale nie miałem żadnych sukcesów.

Odpowiedz

10

możesz określić, który element jest powiązany z tym obszarem, wybierz element i chwyć jego zakres za pomocą angular.element. Zakładamy ten zakres jest przymocowana do elementu <div id="stuff"></div> przestrzegać poniższy przykład, w szczególności, wezwanie do .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 
} 

JSFiddle Example - demo

+0

Jesteś super. To działało idealnie ... mój problem polegał na tym, że istniały niestandardowe elementy, więc zamiast getElementById, przeszedłem do querySelectorAll i znalazłem element, który miał obiekt zakresu, którego szukałem. Dziękujemy za pomoc! – TheIntrepidSpiff

+0

Wielkie dzięki, to jest właściwe rozwiązanie. – mesutpiskin

Powiązane problemy