错误: [$injector:unpr] 未知提供程序 ->,因为 ui 路由器请求了错误的内容

Error: [$injector:unpr] Unknown provider -> because ui-router requests the wrong thing

本文关键字:错误 ui 因为 路由器 请求 unpr injector 未知 程序      更新时间:2023-09-26

我最近从ngRoute切换到ui-router,由于不应该存在的奇怪效果,我的近 90% 的代码不再工作。

这是我的一个控制器的构造函数:

 constructor(
        cameraApiService: ICameraApiService, 
        $log: ng.ILogService,
        $stateParams: any) {

有了ngRouteICameraApiServiceclass CameraApiService)可以毫无问题地注入。现在有了ui-router,它无法解决ICameraApiService。经过进一步调查,我发现 angular 不会试图解决CameraApiService,而是cameraApiServiceProvider

Error: [$injector:unpr] Unknown provider: cameraApiServiceProvider <- cameraApiService
http://errors.angularjs.org/1.3.8/$injector/unpr?p0=cameraApiServiceProvider%20%3CameraApiService

这当然不存在。就DI而言,ngRouteui-router之间有区别吗?事情必须以不同的方式声明吗?

顺便说一句:我正在使用Typescriptgrunt-tsng。所有依赖项/模块/服务都已注册。

请参阅转换后的.js文件,第 73 行:controller: App.Cameras.CameraListController 。 这里的控制器应该引用一个字符串名称,如controller: 'App.Cameras.CameraListController'