我可以訪問$ controllerProvider但如果我使用$控制器依賴注入不能訪問$控制器下面的方法
angular.module(MODULE_NAME, ['common'])
.config(['$routeProvider','$controllerProvider',
function($routeProvider, $controllerProvider) {
console.log($controllerProvider);//defined
console.log($controller);//undefined
}]);
,它給
Unknown provider: $controller
但我需要訪問它,如何做到這一點
編輯
我需要這個,因爲我想檢查我的控制器是否存在。這裏是post從哪裏我使用此代碼
try {
$controller(controllerName);
listControlerName = MODULE_NAME+'ListController';
} catch (error) {
listControlerName = 'CommonListController';
}
背景
我創建一個項目的架構。我的項目結構如下。
- 我有一個COMMON模塊。與ListController,EditController,ViewController
- 我有MOD1ListController,MOD1EditController,MOD1ViewController等MOD1,MOD2等一些其他模塊等。
- 那些模塊專用控制器從公共模塊擴展相應的控制器。現在
我的計劃是當一個新的模塊(鏌鋣)需要發展,那麼如果有一些額外的功能,那麼只有開發人員創建一個新的MODXListController該模塊通過繼承共同ListController。否則,他們不需要創造任何東西。
因此係統會檢查該模塊是否包含MODXListController。如果沒有,那麼系統將使用Common ListController。
我不想創建一個MODXListController繼承常見的ListController,但不做任何額外的更改。因爲我有大量的模塊將近25個,並且大部分都是共享相同的功能。
您無法從您的配置中訪問'$ controller'。 –
請提供上下文爲什麼不知道控制器是否存在。有更好的方法來做你想做的事,當然不是那樣。 – estus
@estus我已更新上下文。 –