我可以访问 $controllerProvider,但是在以下方法中无法访问 $controller。
angular.module(MODULE_NAME, ['common'])
.config(['$routeProvider','$controllerProvider',
function($routeProvider, $controllerProvider) {
console.log($controllerProvider);//defined
console.log($controller);//undefined
}]);
如果我使用$controller作为依赖注入,它会产生
Unknown provider: $controller
但我需要访问它,我该怎么做呢?
编辑
我需要这个是因为我想检查我的控制器是否存在。这是我使用该代码的帖子。
try {
$controller(controllerName);
listControlerName = MODULE_NAME+'ListController';
} catch (error) {
listControlerName = 'CommonListController';
}
背景
我正在创建一个项目的架构。我的项目结构如下:
- 我有一个COMMON模块,其中包括ListController、EditController和ViewController。
- 我还有一些其他模块,如MOD1、MOD2等,其中包括MOD1ListController、MOD1EditController、MOD1ViewController等。
- 这些模块特定的控制器都继承自通用模块中相应的控制器。
现在,我的计划是,当需要开发一个新模块(MODX)时,如果有一些额外的功能,那么开发人员只需通过继承通用的ListController来创建一个新的MODXListController。否则他们不需要创建任何东西。
因此,系统将检查该模块是否包含MODXListController。如果没有,则系统将使用通用的ListController。
我不想创建一个继承通用ListController但没有做任何额外改动的MODXListController。因为我有很多模块,近25个,它们大多数共享同样的功能。
$controller
。 - Abhilash Augustine