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()