【问题标题】:$routeParams not available during controller initialization$routeParams 在控制器初始化期间不可用
【发布时间】:2013-04-22 10:59:37
【问题描述】:

我正在尝试弄清楚 AngularJS 和路由。有人可以看看这个http://jsfiddle.net/spoon16/p9BBr/

帮助我理解为什么 $routeParams.i 在初始化期间未定义。在我的控制器中使用$routeParams 的适当方式是什么?

【问题讨论】:

    标签: angularjs controller routes


    【解决方案1】:

    基本上$routeParams 在路由服务更改路由之前不可用,这意味着您应该只将服务注入与特定路由(路由的controller 属性)关联的控制器中。

    如果您在其他控制器中需要知道当前路由等,您应该收听the various events 路由服务广播,例如

    $scope.$on('$routeChangeSuccess', function (ev, current, previous) {
        // ...
    });
    

    Updated fiddle.

    【讨论】:

    • 有点难以理解你的第一段。在 jsfiddle 中没有与路由关联的控制器值?
    • 通常您将特定控制器关联到特定路由,并且在该控制器中您通常希望提取参数值并将它们用于某些事情(可能作为某些 ajax 调用的一部分)。我正计划更新小提琴,但我可以得到小提琴以允许我更改网址。
    猜你喜欢
    • 1970-01-01
    • 2016-09-09
    • 1970-01-01
    • 2017-01-20
    • 2016-01-27
    • 1970-01-01
    • 2012-10-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多