Angular stateParams没有url

时间:2017-03-17 16:20:06

标签: angularjs angular-ui-router

我想从一个网址arrayA导航到网址/projects,但我需要通过/projects/{name}解析资源。我该怎么办?

现在我有这样的事情:

$stateParams.id

但是,当我从网址中删除{id}时:' ...',它不起作用。

我的前端导航是:

$stateProvider.state('project.detail', { ... url: '/projekt/{name}/{id}', ... resolve: { project: ['$stateParams', 'ProjectService', function($stateParams, ProjectService) { return ProjectService.get({id : $stateParams.id}).$promise; }] } ...;

而且我不想有网址... / projects / hyperloop / 5462

但仅限于 / projects / hyperloop

谢谢!

1 个答案:

答案 0 :(得分:1)

您可以使用参数而不在状态URL中指定它们。您可以在状态配置中的params属性中指定它们:

$stateProvider.state('project.detail', {
    ...
    url: '/projekt/{name}',
    params: {
      id: null
    },
    resolve: {
            project: ['$stateParams', 'ProjectService', function($stateParams, ProjectService) {
                return ProjectService.get({id : $stateParams.id}).$promise;
            }]
     }
    ...
})

请查看ui-router docs了解详情