У меня есть состояние, которое я сам не написал, и я не могу ни с кем посоветоваться, чтобы решить эту проблему:
.state('dashboard.tasks.overview.details', {
url:
'/{id:(?:[a-fA-F0-9]{8}(?:-[a-fA-F0-9]{4}){3}-[a-fA-F0-9]{12})}',
data: {
pageTitle: 'Taak details',
authorize: p => p.viewTask
},
views: {
'details@dashboard.tasks': {
template:
'<task state="state$ | async:this"></task>',
controller: Something.createComponentRouteController<
Overview.State,
TaskDetailsComponentState
>('TaskOverviewStore', s => ({
task: s && s.selectedTask,
loading: s && s.selectedTaskLoading,
activities: s && s.activities,
linkedTasks: s && s.linkedTasks
}))
}
},
params: {
showTaskDetailView: null,
},
onEnter: [
'$stateParams',
'TaskOverviewService',
(
$stateParams: showTaskDetailViewParams,
taskOverviewService: TaskOverviewService
) => {
taskOverviewService.getDisplayTaskDetailView($stateParams.showTaskDetailView);
taskOverviewService.select($stateParams.id);
}
]
});
Когда вызывается это 'details@dashboard.tasks'
, это создает контроллер с определеннымпараметры.Мне нужно вызвать контроллер с именем: TaskOverviewController
или выполнить функцию внутри этого контроллера, когда маршрут активирован.Проблема заключается в том, что AngularJS не может разрешить более одного контроллера в представлении.
Это моя единственная возможность переместить текущую логику, которая создается в controller:
, в TaskOverviewController
, чтобы я мог выполнить необходимый код вэтот контроллер и код, который нужен его представлению?