从HTML中访问$scope?

14

由于愚蠢的第三方原因,我需要从HTML中访问$scope。

这是我的尝试:

<html ng-app>
    <!-- head goes here-->
    <body>
        <!--Body goes here-->
        <script type="text/javascript">
            console.log($scope);
        </script>
    </body>
</html>

你能提供一些代码吗? - maxdec
我忘记将代码标记为代码了,抱歉! - Himmators
这个问题的答案在这里:https://dev59.com/rFsW5IYBdhLWcg3w8q_2 - Alvaro Cavalcanti
2个回答

16

因为 angular 是全局暴露的,所以你可以使用:

var scope = angular.element().scope()
例如,如果你在你的标记中有这个

元素

<div ng-controller="someCtrl" id="someId">{{test}}</div>

您可以像这样访问控制器 someCtrl 的隔离作用域:

var scope = angular.element($("#someId")).scope()
scope.test = "Hello, world!";

你可能也需要$apply作用域,参见这里


2
我成功地在这个元素‘<div ng-controller="Invite" id="invite" class="invite">’上访问了angular.element,但是scope.scope不存在。 - Himmators

3

只需要使用'this'...它是一个指向控制器作用域的引用。

原始答案翻译为"最初的回答"

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接