我的应用程序有两个控制器。我有一个pageCtrl,用于处理导航和侧边栏。我还有一个calendarCtrl用于处理页面上的数据。该控制器的配置如下所示:

$stateProvider
  .state('calendar', {
    url: '/calendar/:category/:competition/:team',
    controller: 'calendarCtrl',
    templateUrl: 'app/modules/calendar/calendarView.html',
  })


为了使导航正常工作,我还需要访问:category/:competition/:team中的pageCtrl -params。我可以使用相同的方式配置它吗?就像是:

$stateProvider
  .state("page", {
   abstract: true,
   controller: 'pageCtrl',
   // params: :category/:competition/:team
})


编辑:在$stateParams中使用calendarCtrl可以正常工作。我只是想不通如何确保我的pageCtrl也可以读取该URL。

最佳答案

由于您使用的是ui.router,因此在控制器中注入$stateParams,然后可以像这样访问这些值:

controller.js

function($stateParams){

$stateParams.category
$stateParams.competition
$stateParams.team

10-01 06:57