Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/446.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 从浏览器控制台调用角度单击事件_Javascript_Angularjs - Fatal编程技术网

Javascript 从浏览器控制台调用角度单击事件

Javascript 从浏览器控制台调用角度单击事件,javascript,angularjs,Javascript,Angularjs,我在Angular应用程序上检查DOM,并看到一个简单的链接,如下所示: <button type="button" class="button mini text right clear-all" ng-show="draft.roster.slotsFilled" ng-click="draft.resetRoster()" really="Are you sure you want to clear all players from your team?"> 我想通过简单

我在Angular应用程序上检查DOM,并看到一个简单的链接,如下所示:

<button type="button" class="button mini text right clear-all" ng-show="draft.roster.slotsFilled" ng-click="draft.resetRoster()" really="Are you sure you want to clear all players from your team?">

我想通过简单地粘贴
draft.reset花名册(),在浏览器控制台中直接调用
ng click
命令不幸的是,当我试图通过控制台访问它时,我得到的
草稿没有定义。不过,链接本身工作得非常好

访问/调用
ng click
属性在此引用的代码的最佳方式是什么?

使用Chrome,安装,然后右键单击元素,单击“Inspect element”并在控制台中键入:

$scope.draft.resetRoster()
如果您想调用angular服务中的方法,可以通过执行以下操作来访问该服务:

service = angular.element(document).injector().get('NameOfServiceHere')
service.somePropertyOrMethod()

ng click
只注册一个click事件,这样您就可以通过选择元素从控制台触发click事件。例如:-

假设您的按钮可以由所有这些css类唯一标识,您可以执行以下操作:

//You could use jquery as well if it is available, here some vanilla accessors.
document.querySelector('.button.mini.text.right.clear-all').click();
//If you have multiple, use querySelectorAll and 
//select the respective element or if you have an Id:
document.getElementById('#myButton').click();
或者您可以使用诸如batarang(chrome)之类的扩展直接访问范围,或者使用

angular.element(elementRefGotFromOneOfTheAboveWays).scope().draft.resetRoster();`
如果您希望看到DOM中反映的更改,则需要手动调用
scope.$apply()
,即

var scope = angular.element(elementRefGotFromOneOfTheAboveWays).scope();
scope.draft.resetRoster();
scope.$apply();