Angular:使用浏览器控制台javascript处理代码后刷新DOM

分享于2022年07月17日 angularjs browser-console dom javascript 问答
【问题标题】:Angular:使用浏览器控制台javascript处理代码后刷新DOM(Angular: Refresh DOM after manupulating code using browser console javascript)
【发布时间】:2022-07-11 18:51:36
【问题描述】:

一个网站是用 Angular.js 编写的,它们有过滤选项,默认情况下检查所有类别,没有“全部清除”过滤选项。 Angular: Refresh DOM after manupulating code using browser console javascript

就像这个网站图片(这是亚马逊),他们有一个清除按钮,但是我想工作的网站(不能透露名称)没有清除所有过滤器按钮(网站是用 Angular 制作的) .

因此,我设法使用 Javascript 清除所有复选框,并使用在浏览器控制台中输入的此代码 sn-p 取消选中。

var inputs = document.getElementsByTagName('input');

for (var i=0; i

在 Chrome 浏览器控制台中使用这个 sn-p,我能够取消选中所有复选框,但它没有对 dom 进行更改,并且产品没有被过滤。它们保持不变,就好像所有复选框仍然被选中一样。 Angular: Refresh DOM after manupulating code using browser console javascript

有什么办法可以刷新DOM,在控制台日志中写入js sn-p,以便DOM可以检查更改并更新页面?

谢谢


【解决方案1】:

您可能需要触发一个新的摘要循环,以便 AngularJS 接收更改。您可以通过获取元素的范围并触发它的 $apply 函数来做到这一点:

angular.element('input').scope().$apply()