angularjs-获取控制器函数并将其传递给$injector.invoke()
我有两个控制器,定义如下:angularjs-获取控制器函数并将其传递给$injector.invoke(),angularjs,controller,Angularjs,Controller,我有两个控制器,定义如下: function ControllerA(DependencyA, DependencyB) { // code } function ControllerB(DependencyC, DependencyD) { // code $injector.invoke(ControllerA); } 但是,为了支持缩小,我修改了控制器定义: myApp.controller('controllerA', ['DependencyA', 'Dep
function ControllerA(DependencyA, DependencyB) {
// code
}
function ControllerB(DependencyC, DependencyD) {
// code
$injector.invoke(ControllerA);
}
但是,为了支持缩小,我修改了控制器定义:
myApp.controller('controllerA', ['DependencyA', 'DependencyB'
function (DependencyA, DependencyB) {
// code
}]);
myApp.controller('controllerB', ['DependencyC', 'DependencyD']
function (DependencyC, DependencyD) {
// $injector.invoke(controllerA) // ReferenceError: controllerA is not defined
}]);
问题是$injector.invoke()需要一个函数作为参数,因此问题是如何将controllerA传递给$injector.invoke()?要实例化控制器,您可以使用
$controller
服务,该服务可以用字符串调用:
$controller('controllerA' /*, locals */);