是否可以从控制台(Chrome开发者工具控制台)调用AngularJS控制器功能?
e.g。
app.controller('AddCtrl', ['$scope', function ($scope) {
$scope.save = function(){
// do stuff here - call it from console
};
}]);
答案 0 :(得分:29)
是的,您只需要使用angular.element
来获取控制器范围内的元素:
angular.element("yourElement").scope().save();
答案 1 :(得分:24)
打开浏览器开发者控制台。检查控制器注入的元素。执行以下操作:
angular.element($0).scope().save()
$ 0是您当前在开发人员控制台元素面板中选择的元素。
答案 2 :(得分:10)
如果您只使用角度而不使用jquery,则可以执行angular.element(document.getElementById('yourElement')).scope().save();
如果您正在使用BOTH angular和jquery,则可以angular.element($('#yourElement')).scope().save();
假设元素的id属性设置为<div id=yourElement></div>
非常重要但是noted here如果您从控制台调用的功能执行了任何您希望更改显示在视图中的内容,那么您必须通过{ {1}}喜欢这个
$apply()
答案 3 :(得分:1)
您可以为名为 AngularJS Batarang 的开发者加载 Chrome扩展程序。
它会将AngularJS标签添加到开发者控制台。
选择页面中的元素,如果它具有$ scope,它将显示在&#34; 元素&#34;右侧窗格,在&#34; $ scope &#34;标签
答案 4 :(得分:1)