当前位置: 首页 > 知识库问答 >
问题:

AngularJS:如何从控制台编辑$scope?[副本]

岳嘉悦
2023-03-14

我可以根据这里接受的答案访问$scope变量。但是,我不能从控制台编辑它,即改变属性,调用函数等,这甚至可能吗?

<!doctype html>
<html data-ng-app="Foo">
  <head>
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js"></script>
    <script type="text/javascript">
      var app = angular.module("Foo", []);
      app.controller("One", ["$scope", function($scope) {
        $scope.text = "hello";
      }]);
    </script>
  </head>
  <body>
    <div id="container" ng-controller="One">
      {{ text }}
    </div><!-- #container -->
  </body>
</html>
> angular.element($("#container")).scope().text
< "hello"
> angular.element($("#container")).scope().text = 'bye'
< "bye"

如何从控制台更改$scope值和属性,以便视图和所有依赖项也得到更新?

共有1个答案

凌鹏程
2023-03-14

从angular上下文外部更新的任何作用域变量都不会更新它的绑定,您需要在使用scope.$apply()更新作用域值后运行摘要循环,该循环将调用$digest方法,所有绑定都将在HTML上更新。

 angular.element($("#container")).scope().text
 angular.element($("#container")).scope().$apply()

注意:-您应该添加jQuery文件以便使其工作。

 类似资料:
  • 问题内容: 我有上面的控制器,它设置了一个我只能从内部访问值的控制器。 但我看到的地方,使用下面我将能够访问,但是当我在它不存在。 我无法弄清楚如何访问$ scope并使用变量更新它。 问题答案: 没有看到标记,我想MenuSideController的作用域是您选择的作用域的子作用域。 虽然可以像这样遍历树(假设我们想要的作用域是第一个孩子): 仅选择连接了特定控制器的元素会更简单。 假设您正在

  • 问题内容: 我有类似的服务: 我想 从JavaScript控制台 进行 测试, 然后调用该服务的功能。 我怎样才能做到这一点? 问题答案: 深潜 AngularJS使用 依赖注入(DI) 将服务/工厂注入到您的组件,指令和其他服务中。所以,你需要做的就是一个服务是什么,以获得 注入第一AngularJS的(喷油器是负责接线了所有的依赖关系和它们提供给组件)。 要获取应用程序的 注入器 ,您需要从a

  • 我有一项服务,比如: 我想从JavaScript控制台测试它,并调用服务的函数。 我怎么能那么做?

  • 如何从chrome的控制台访问范围变量小部件 像这样的东西在控制台中根本不起作用!

  • 问题内容: 我想在Chrome的JavaScript控制台中访问我的变量。我怎么做? 我既看不到控制台中的模块名称也看不到它的变量。 问题答案: 在开发人员工具的HTML面板中选择一个元素,然后在控制台中输入以下元素: 在WebKit和Firefox中,是对elements选项卡中所选DOM节点的引用,因此通过执行此操作,可以在控制台中打印出所选DOM节点范围。 您还可以按元素ID定位作用域,如下

  • 所以我有一个Laravel控制器: 目前,我正在使用artisan(在引擎盖下运行PHP的内置开发Web服务器)运行应用程序: 我想将控制台消息记录到artisan进程的管道中。