我正在检查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?">
我想尝试ng-click
通过简单地粘贴在这里直接在浏览器控制台中调用该命令,draft.resetRoster();
不幸的是,draft is not defined
当我尝试通过控制台访问它时遇到了问题。链接本身可以很好地工作。
访问/调用ng-click
属性在此处引用的代码的最佳方法是什么?
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();
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句