2015-09-16 14 views
5

Tôi cần chuyển dữ liệu từ ứng dụng góc tới các tập lệnh chạy bên ngoài góc cạnh vì tôi không có quyền truy cập để chỉnh sửa mã của ứng dụng góc.

Sử dụng phần mở rộng Angular Batarang và NG-Thanh tra cho Chrome, tôi có thể thấy đối tượng JSON tôi cần kéo, nhưng tôi không biết cách bắt đầu.

Ví dụ, ở góc batarang, đối tượng trông giống như:

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

suy nghĩ ban đầu của tôi là tôi có thể lấy nó bằng cách sử angular.element nhưng tôi đã không có bất kỳ thành công.

Trả lời

10

bạn có thể xác định yếu tố nào phạm vi được ràng buộc, chọn phần tử và lấy phạm vi của nó qua angular.element. Giả sử phạm vi này được gắn liền với yếu tố <div id="stuff"></div>, hãy quan sát ví dụ sau đây, cụ thể, các cuộc gọi đến .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 - bản demo

+0

Bạn đang tuyệt vời. Điều đó làm việc hoàn hảo ... vấn đề của tôi là có các phần tử tùy chỉnh, vì vậy thay vì getElementById, tôi đã đi đến querySelectorAll và tìm thấy phần tử có đối tượng phạm vi mà tôi đang tìm kiếm. Cảm ơn sự giúp đỡ của bạn! – TheIntrepidSpiff

+0

Cảm ơn rất nhiều, đây là giải pháp phù hợp. – mesutpiskin

Các vấn đề liên quan