是否可以在模板Angularjs中输出整个范围?

是否可以在模板Angularjs中输出整个范围?,angularjs,Angularjs,作用域中的任何节点都可以这样输出: {{variable}} 你能以某种方式输出整个范围吗?差不多 {{$scope}} 当然 然而,出于好奇,你为什么要这么做 编辑 我在回答之前没有测试过这个。我有罪。这似乎不起作用,我得到了一个字符串“$SCOPE” 然而,正如评论中提到的,难道不应该console.dir()做这项工作吗?当然!看看这个 由于$scope引用自身,因此需要使用经过修改的stringify方法。谢谢你 但探索范围的另一个伟大选择是。过来看!不幸的是,它只适用于chrome

作用域中的任何节点都可以这样输出:

{{variable}}
你能以某种方式输出整个范围吗?差不多

{{$scope}}
当然

然而,出于好奇,你为什么要这么做

编辑

我在回答之前没有测试过这个。我有罪。这似乎不起作用,我得到了一个字符串“$SCOPE”


然而,正如评论中提到的,难道不应该
console.dir()
做这项工作吗?

当然!看看这个

由于$scope引用自身,因此需要使用经过修改的stringify方法。谢谢你


但探索范围的另一个伟大选择是。过来看!不幸的是,它只适用于chrome。

作为概念证明,我创建了一个指令来漂亮地打印当前范围

您可以在任何地方使用它,只需将
添加到模板中即可

请注意,这只是一个想法,有几个问题:

  • 这取决于
    ngSanitize
    使
    ngbind html
    工作
  • 它在
    $apply()
    中执行
    prettyScope()
    多次,因此当
    $scope
    对象较大和/或有许多链接更新时(我猜),它可能会变得迟钝
  • syntaxHighlight
    的超凡实现来自


    完整代码和一些作用域继承以及隔离作用域案例。

    我在ie-8中的数据绑定对某些字段不起作用,因此我正在尝试找出数据的位置。为什么不
    console.dir()
    ?ie 8没有
    console.dir
    。请告诉我您是否有更好的选择!我也有同样的经验,输出$scopeYep!查看我编辑的文章,了解如何显示$scope。如果您是Firefox用户,请查看一个名为“我已经编写”的Firebug扩展。它帮助您将
    $scope
    对象检查到Firebug的DOM检查器中。
    $scope.scope = $scope
    
    {{scope}}