我正在尝试从控制器外部调用位于角度控制器内的函数。我的代码看起来与此类似:
var myApp = angular.module('myApp'[])
.controller('MainController', ['$scope', function($scope) {
$scope.message = function() {
alert('Hello World');
};
}]);
function talk() {
// message()
}
我想要完成的是从我的 talk()函数中访问我的 message()函数。
因为在我的应用程序中涉及很多代码,这对我来说是最简单的方法,但如果你知道更好的解决方案,请告诉我。
谢谢!
答案 0 :(得分:0)
使用来自控制器的代码超出其范围的不良做法。但是,如果您能够在DOM中选择它们,那么您应该能够获得“范围”。不知道你使用什么版本的角度
取决于您的角度版本:
var scope = angular.element(document.getElementById('yourMainControllerElementID')).injector().get('$rootScope')
或
angular.element(document.getElementById('yourMainControllerElementID')).scope().message();
.get返回控制器的范围。