在ui路由器中找不到带有参数的url

时间:2019-03-07 15:10:03

标签: javascript angularjs angular-ui-router

我有一个状态(portoflio.patent),该状态充当抽象状态,以将已解析的数据提供给多个子状态,如下所示:

.state('portfolio', {
    url: '/portfolio',
    templateUrl: 'app/templates/portfolio/portfolio.tpl.htm',
    controller: 'portfolioCtrl',
    controllerAs: '$ctrl'
})
.state('portfolio.patent', {
    templateUrl: 'app/templates/patent/patent.patent-item.tpl.htm',
    abstract: true,
    url: '/:id',
    resolve: {
        data: ['service', function(service) {
           //returns data
        }]
    },
    params: {
        id: null
    }
})
.state('portfolio.patent.patent-info', {
    templateUrl: 'app/templates/patent/patent.patent-info.tpl.htm',
    controller: 'patentInfoCtrl',
    controllerAs: '$ctrl'      
})
.state('portfolio.patent.euro-pct', {
    abstract: true,
    templateUrl: 'app/templates/patent/patent.europct.tpl.htm',
    controller: 'euroPctCtrl',
    controllerAs: '$ctrl',
})

当我单击父状态为portfolio的项目时,它在访问{id: 0}时会传递参数portfolio.patent.patent-info并且有效。刷新页面时,它不会注册URL并显示空白屏幕。如果我将网址从portfolio.patent状态移到portfolio.patent.patent-info状态,它可以刷新,但是会出现包含URL并将参数传递给所有子状态的问题

问题

为什么我的URL没有在页面刷新和加载portfolio.patent.patent-info上注册?

0 个答案:

没有答案