从AngularJS中的多个控制器访问routeparams

时间:2013-04-30 02:12:06

标签: javascript angularjs

在我的路线中,我进行了设置,以便为路径'/:id'调用Controller1,该路径控制页面的一个部分。但是,我还需要在Controller2中使用:id route param。如何在Controller2中访问该信息?

我使用$ routeProvider服务访问Controller1中的路径参数。这将返回Controller2中的空对象。

编辑:

我创建了一个演示来更好地说明我的问题。我想从2个控制器访问$ routeParams,但它只能被Controller2识别。

https://dl.dropboxusercontent.com/u/11600860/angular/index.html#/4445

如果你在控制台中查看,routeParams只会被Controller2登录到控制台,而不是Controller1。有什么想法吗?

2 个答案:

答案 0 :(得分:1)

您的演示不再存在,但我听到了类似的问题并在AngularJS: Read route param from within controller找到了相关的答案。一般问题(在我的情况下)是控制器最初加载并尝试访问单个值时尚未加载$routeParams

为了解决这个问题,我能够在ng-init上执行控制器方法,此时我可以成功访问任何$routeParams

答案 1 :(得分:0)

查看$routeParams服务,这应该可以满足您的需求。我目前正在将其注入到页面上的多个控制器中,并像:id一样轻松访问$routeParams.id参数。