角RouteProvider - 解决不及格对象控制器控制器、对象、RouteProvider

2023-09-13 05:13:28 作者:我只希望时光走了你还在

看看下面的plunker: http://plnkr.co/edit / uEbEdNifuBReENxzhb6H?p = preVIEW

Take a look at the following plunker: http://plnkr.co/edit/uEbEdNifuBReENxzhb6H?p=preview

对于routeProvider决心(我的理解)预期的行为是为解析对象被注入到控制器。然而Angularjs抛出一个未知供应商的错误。

The expected behaviour for the routeProvider resolve (to my understanding) is for the resolved object to be injected into the controller. However Angularjs throws an "Unknown provider" error.

我见过的建议注入原有的服务,但是这将导致延期的对象,这使得routeProvider解决,而没有用的。

I have seen suggestions to inject the original service, but that will result in a deferred object, which renders the routeProvider resolve rather useless.

推荐答案

您应该指定与根提供商控制器 - 未在模板(或控制器将不管路径的使用,这可能会导致依赖不解决):

You should specify the controller with the root provider - not in the template (or the controller will be used regardless of the path, which may result in the dependencies not resolving):

$routeProvider.when('/',{controller:'TestCtrl', ...

我已经更新您的plunker:http://plnkr.co/edit/mSb58e8cGDNYU27xSizk?p=$p$pview