我在同一页面上有两个单独的控制器,它们需要从URL中获取GET参数。以下是我的模板

  body(ng-app='application')
    .loader(ng-controller="loaderCtrl" data-ng-class="{'hidden': counter == 0}")
      #bar
    div(ng-include="'/components/nav/nav.html'")
    div(ng-view)
    div(ng-include="'/components/footer/footer.html'")
    script(src='app.js')
    script(src='//localhost:35729/livereload.js')


第一个控制器用于nav,另一个控制器用于ng-view中的模板。

我能够在ng-view控制器内正确获取参数,但在navController中无法正常使用。两个控制器都有一个简单的脚本,如

module.exports = function($scope,Restangular,$localStorage,$routeParams){
  console.log($routeParams);
}


在两种情况下,对于同一页面我得到的结果是不同的。结果是

Object {  }  app.js:576:5
Object { q: "test" }  app.js:383:3


nav模板中的控制器中为空,而ng-view中的另一个为。我在哪里错了?

最佳答案

检查ngRoute documentation。尝试使用$route.current.params,因为控制器初始化时$routeParams为空。

关于javascript - 在angularjs中获取routeParams时出现问题?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42880156/

10-16 23:12