Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AngularJS:如何从控制台编辑$scope?_Javascript_Angularjs_Angularjs Digest - Fatal编程技术网

Javascript AngularJS:如何从控制台编辑$scope?

Javascript AngularJS:如何从控制台编辑$scope?,javascript,angularjs,angularjs-digest,Javascript,Angularjs,Angularjs Digest,我能够根据接受的答案访问$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>

我能够根据接受的答案访问
$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>

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

从外部角度上下文更新的任何范围变量都不会更新它绑定,您需要在使用
范围更新范围值后运行。$apply()
将调用
$digest
方法,所有绑定将在HTML上更新

 angular.element($("#container")).scope().text
 angular.element($("#container")).scope().$apply()
注意:-您应该添加jQuery文件以使其工作


这不是一个重复的问题(只是标题不好)@DavidGrinberg链接的问题回答了OP的要求。事实上,我也发现了更多的问题。@PSL这不是你声称的问题,它是一个重复的问题,甚至你链接的这个问题也不能很好地回答这个问题。这里的核心问题是如何“应用”这一变化。@DavidGrinberg我不认为83票是排名最低的它清楚地区分了使用vanilla和jquery,这实际上是错误的。OP甚至没有使用jquery(基于显示的代码)@downvoter请留下评论..我的答案有什么问题?$apply可以工作,但我不知道如果没有加载jquery,代码段将如何运行。但奇怪的是,OP可能并没有显示完整的代码,似乎OP自己也在这么做。。所以我想我可以给怀疑的好处!!我的已删除…谢谢@PSL我添加了与便条相同的内容。
 angular.element($("#container")).scope().text
 angular.element($("#container")).scope().$apply()