Вызов функции в контроллере из RouteConfig - PullRequest
0 голосов
/ 04 февраля 2019

У меня есть состояние, которое я сам не написал, и я не могу ни с кем посоветоваться, чтобы решить эту проблему:

.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, чтобы я мог выполнить необходимый код вэтот контроллер и код, который нужен его представлению?

...