从浏览器控制台调用角度控制器功能

时间:2014-04-01 19:54:06

标签: angularjs

是否可以从控制台(Chrome开发者工具控制台)调用AngularJS控制器功能?

e.g。

app.controller('AddCtrl', ['$scope', function ($scope) {



    $scope.save = function(){
        // do stuff here - call it from console
    };

}]);

5 个答案:

答案 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)

  1. 在Chrome检查器中,单击与范围相关的元素 到你想要执行的控制器。
  2. 输入angular.element($ 0).scope()。nameYourFunctionInScope();
  3. 执行