使用 AngularAMD/RequireJS 时是否可以将服务注入到路由/状态解析中?
在控制器加载之前使用路由/状态解析为控制器准备数据的模式是一种很好的做法。我发现它对于从服务器获取数据并将该数据存储在服务中特别有用,这是我在不使用 AngularAMD 时成功完成的。
当我实现 AngularAMD 并尝试将服务注入解析时,我收到“未知提供者”错误,引用了我尝试注入的服务。
下面是一个基本示例,它导致为 OtherService 引发 Unknown Provider 错误。
$stateProvider
.state('home', angularAMD.route({
url: '/home',
templateUrl: 'home.html',
controllerUrl: 'HomeCtrl.js',
controller: 'HomeCtrl',
resolve: {
stuff: function(OtherService) {
return OtherService.getStuff();
}
}
}));
有没有人遇到过这个问题?为什么它不起作用的任何解决方案和/或解释?
这个问题 - angularjs + requirejs + dependency in resolve - 涉及相同的问题,但唯一的答案并不是特别有用。