微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – 使用angular.element通过$ID获取范围对象

我需要将角度应用程序中的数据传递给在角度以外运行的脚本,因为我无权编辑角度应用程序的代码.

使用Angular Batarang和NG-Inspector扩展程序,我可以看到我需要从中获取JSON对象,但我不知道如何开始.

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

$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抓住它,但我没有任何成功.

最佳答案
您可以确定该范围所绑定的元素,选择元素,并通过angular.element获取其范围.假设此范围附加到元素< div id =“stuff”>< / div>,请观察以下示例,具体来说,调用.scope()

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() – retrieves the scope of the current element or its parent. Requires Debug Data to be enabled.

认启用,disabling it会在此处引发问题

原文地址:https://www.jb51.cc/html/426491.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐