对状态更改执行控制器操作

时间:2015-10-07 19:35:07

标签: angularjs angular-ui-router

我有一个状态course.show.events的事件列表。我希望有一个子状态,即course.show.events.event状态,实际上是course.show.events状态(相同的控制器和视图),加载了执行某些控制器功能(如selectEvent(day))。

相关州是:

.state 'courses.show.events',
  url: '/events?month'
  controller: 'CourseEventsCtrl as vm'
  templateUrl: 'courses/events/events'
  resolve: { pagination: EventsPaginationResolver }

.state 'courses.show.events.event',
  url: '/:day'

我希望能够访问:day上的CourseEventsCtrl参数并执行某些操作,具体取决于是否可用,但$stateParams仅显示course.show.events中的参数1}}状态,而不是孩子courses.show.events.event参数。

1 个答案:

答案 0 :(得分:0)

如果我了解您的要求,您希望从www.example.com/calendar转到www.example.com/calendar/monday。您可以使用url = '/calender/:day'创建状态,然后在您的控制器中,如果您使用$routeParams,则可以从$stateParamsui.router访问该状态。

https://docs.angularjs.org/api/ngRoute/service/$routeParams