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

Ila*_*sda 33 angularjs

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

例如

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



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

}]);
Run Code Online (Sandbox Code Playgroud)

tym*_*eJV 29

是的,您只需要使用angular.element获取控制器范围内的元素:

angular.element("yourElement").scope().save();
Run Code Online (Sandbox Code Playgroud)


小智 24

打开浏览器开发者控制台.检查控制器注入的元素.执行以下操作:

angular.element($0).scope().save()
Run Code Online (Sandbox Code Playgroud)

$ 0是您当前在开发人员控制台元素面板中选择的元素.


Sum*_*eek 10

如果你只使用角度而不使用jquery,你可以做类似的事情 angular.element(document.getElementById('yourElement')).scope().save();

如果你正在使用BOTH angular和jquery,你可以angular.element($('#yourElement')).scope().save();假设你的元素的id属性设置如下<div id=yourElement></div>

非常重要但正如这里要注意,如果你从控制台调用函数做任何事情,这样你希望的更改,在视图中显示出来,那么你必须要通过他们传递$apply()这样

var scope = angular.element($('#story')).scope();
scope.$apply(function(){
  scope.showNextScene();
});
Run Code Online (Sandbox Code Playgroud)