【发布时间】:2015-06-10 14:50:37
【问题描述】:
我需要在 AngularJS 的另一个控制器中调用一个函数。我该怎么做?
代码:
app.controller('One', ['$scope',
function($scope) {
$scope.parentmethod = function() {
// task
}
}
]);
app.controller('two', ['$scope',
function($scope) {
$scope.childmethod = function() {
// Here i want to call parentmethod of One controller
}
}
]);
【问题讨论】:
-
将函数放入服务中,并将服务注入到两个控制器中。或者,如果第二个控制器作用域是第一个控制器作用域的子级,则直接调用它。
-
这对我来说就像一个 XY 问题;虽然有几种方法可以调用另一个控制器上的函数,但确实很少有充分的理由必须这样做。也许描述您的实际问题比询问您尝试实施的解决方案更有帮助?在不同的控制器上调用函数并不是真正的“角度方式”。
-
一个控制器是另一个控制器的子/孙子吗?或者他们是没有血缘关系的兄弟姐妹?
标签: angularjs controller angularjs-scope