合并两个在AngularJS中执行相同功能但参数不同的状态?

时间:2018-10-05 13:55:30

标签: javascript angularjs ngroute

目前,我有两个独立的状态,它们本质上都在做相同的事情,但是具有不同的参数,我将如何组合它们?

.state('mdb.standards', {
        url: '/standards?:page?create',
        params: {
            page: null,
            create: null
        },
        controller: 'FdxMdbContainerController',
        controllerAs: 'vm',
        templateUrl: 'fdx/modules/mdb/mdb.features/browser/fdx-mdb-list-home.tpl.html',
        access: {
            hasAccess: ['fdxHasAccess', '$stateParams',
                function (fdxHasAccess, $stateParams) {
                    return fdxHasAccess.mdb.toStandards(true, false, $stateParams.companyId);
            }]
        },
        resolve: {
            configResource: ['fdxMdbConfigService',
                function (fdxMdbConfigService) {
                    return fdxMdbConfigService.containerConfig('STANDARD');
            }]
        },
        data: {
            pageTitle: 'nav.standards'
        }
    })

.state('mdb.studies', {
        url: '/studies?:page?create',
        params: {
            page: null,
            create: null
        },
        controller: 'FdxMdbContainerController',
        controllerAs: 'vm',
        templateUrl: 'fdx/modules/mdb/mdb.features/browser/fdx-mdb-list-home.tpl.html',
        access:{
            hasAccess: ['fdxHasAccess', '$stateParams',
                function (fdxHasAccess, $stateParams) {
                    return fdxHasAccess.mdb.toStudies(true, false, $stateParams.companyId);
            }]
        },
        resolve:  {
            configResource: ['fdxMdbConfigService',
                function (fdxMdbConfigService) {
                    return fdxMdbConfigService.containerConfig('STUDY');
            }]
        },
        data: {
            pageTitle: 'nav.studies'
        }
    })

到目前为止,这是我目前正在使用的方法,我想要做的是将它们合并在一起,但是使用url或params来使用更少的代码行,我碰壁了,但是代码我要去的是这个...

    .state('mdb.standardsStudies', {
        url: '/:container?:page?create',
        params: {
            page: null,
            create: null
        },
        controller: 'FdxMdbContainerController',
        templateUrl: 'fdx/modules/mdb/mdb.features/browser/fdx-mdb-list-home.tpl.html',
    })

我知道第二个区块还有很多遗漏,但是我想在这里做什么?

0 个答案:

没有答案