angularjs-获取控制器函数并将其传递给$ injector.invoke()

精神病猫

我有两个这样定义的控制器:

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 */);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

$ injector.instantiate VS $ injector.get VS $ injector.invoke在angularjs中

无法从模板中获取数据并将其传递给控制器 Angularjs

angular.injector.invoke使我的控制器不确定

AngularJS的$ injector

通过ANgularJS控制器从本地加载JSON文件,并将其传递给ANgularJS自定义指令范围

AngularJS:链接函数未传递给控制器

AngularJS http获取没有传递给控制器

错误:$ injector:unpr Angularjs 1.5中控制器上的未知提供程序

未捕获的错误:[$ injector:nomod]而Angularjs将代码分为控制器文件和服务文件

AngularJS $injector:unpr 问题

AngularJS错误:$ injector:modulerr

AngularJS 1.2 $ injector:modulerr

Angularjs:[$ injector:modulerr]错误

angularjs错误:[$ injector:modulerr]

AngularJS注入器错误未捕获的错误:[$ injector:modulerr]

如何将参数从AngularJS指令传递给AngularJS控制器函数

如何从AngularJS中的控制器调用工厂/服务?错误:组件$ injector中的未知提供程序错误

AngularJS 1.6 $injector:modulerr 错误

错误:AngularJS 中的 [$injector:unpr]

AngularJS $ injector:未知提供程序

AngularJS 1:$ injector:modulerr错误

如何将值从 AngularJS 指令传递给父控制器中的函数

将回调形式指令传递给AngularJS中的控制器函数

AngularJs如何在本地服务器上运行angularjs?和未捕获的错误:[$ injector:modulerr]

将参数传递给AngularJS控制器方法

将变量传递给AngularJS控制器,最佳做法是?

AngularJS-将$ scope传递给控制器

将json变量传递给AngularJS中的控制器

AngularJS将变量传递给指令的控制器