首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过$ID使用angular.element获取作用域对象

通过$ID使用angular.element获取作用域对象
EN

Stack Overflow用户
提问于 2015-09-16 22:05:42
回答 1查看 22.7K关注 0票数 8

我需要将数据从angular应用程序传递到在angular之外运行的脚本,因为我没有权限编辑angular应用程序的代码。

使用Chrome的Angular Batarang和NG-Inspector扩展,我可以看到需要拉出的JSON对象,但我不知道如何开始。

例如,在Angular Batarang中,对象看起来像:

代码语言:javascript
复制
$id=5
name: "listing"
keys:
   0: "alpha"
   1: "beta"
alpha:
   user: "test"
   userID: "12345"
beta: 
   address: "555 Elm St"
   phone: 555.555.5555

我最初的想法是我可以使用angular.element获取它,但我还没有取得任何成功。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-17 03:32:48

您可以确定该范围绑定到哪个元素,选择该元素,并通过angular.element获取它的范围。假设此作用域附加到元素<div id="stuff"></div>,请观察以下示例,具体地说,就是调用.scope()

代码语言:javascript
复制
<div ng-app="app" ng-controller="ctrl" id="stuff"></div>

<button onclick="getStuff()">get stuff</button>

代码语言:javascript
复制
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 -演示

更新

根据docs,必须启用调试模式。

scope() -检索当前元素或其父元素的作用域。需要启用调试数据。

默认开启,disabling it会在这里引发问题

票数 15
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32610912

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档