【问题标题】:Angular RouteProvider - resolve not passing object to controllerAngular RouteProvider - 解决不将对象传递给控制器
【发布时间】:2013-05-09 16:32:42
【问题描述】:

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

routeProvider 解析的预期行为(据我所知)是将解析的对象注入控制器。但是 Angularjs 会抛出“未知提供者”错误。

我看到了注入原始服务的建议,但这会导致延迟对象,这会使 routeProvider 解析变得毫无用处。

【问题讨论】:

    标签: angularjs


    【解决方案1】:

    您应该使用根提供程序指定控制器 - 不在模板中(否则无论路径如何都将使用控制器,这可能导致依赖关系无法解析):

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

    我已经更新了你的插件:http://plnkr.co/edit/mSb58e8cGDNYU27xSizk?p=preview

    【讨论】:

    • functions returning the injected value (and if the return value is a promise angular will wait until it is resolved before the controller is initialized): 不,它们可以是简单的别名
    • 对 - 对不起 - 我错过了“testService”,我已经更新了我的答案!
    • 谢谢,它确实有效,但在视图中定义控制器不应破坏我的示例。应该吗?
    • 失败是因为angular两次调用控制器,第二次依赖注入失败:plnkr.co/edit/7mjVMljCq4iWuKcdEMKz?p=preview
    • plnkr 不存在了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-01-11
    • 2019-05-25
    • 1970-01-01
    • 1970-01-01
    • 2021-01-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多