从RouteConfig调用控制器中的函数

时间:2019-02-04 10:10:07

标签: angularjs angular-ui-router

我的状态是我没有写自己,也无法咨询其他人来解决此问题:

.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在一个视图中不能解析1个以上的控制器。

我唯一的选择是将controller:中正在创建的当前逻辑移动到TaskOverviewController,以便我可以在该控制器中执行所需的代码以及他的视图所需的代码吗?

0 个答案:

没有答案