Angular无法从状态解决

时间:2016-08-08 10:33:30

标签: angularjs jhipster

我使用jhipster来生成我的应用程序,我尝试添加两种不同类型的表单,这两种表单都使用相同的实体(一个不使用实体中的所有字段,而其他将使用全部)。

现在,它适用于:

    .state('xyz', {
        parent: 'entity',
        url: '/xyz',
        data: {
            authorities: ['ROLE_USER'],
            pageTitle: 'xyzs'
        },
        views: {
            'content@': {
                templateUrl: 'app/entities/xyz/xyzs.html',
                controller: 'XyzController',
                controllerAs: 'vm'
            }
        },
        resolve: {
        }
    }).state('a-xyz.new', {
        parent: 'xyz',
        url: '/a/new',
        data: {
            authorities: ['ROLE_USER']
        },
        onEnter: ['$stateParams', '$state', '$uibModal', function($stateParams, $state, $uibModal) {
            $uibModal.open({
                templateUrl: 'app/entities/xyz/a-xyz-dialog.html',
                controller: 'XyzDialogController',
                controllerAs: 'vm',
                backdrop: 'static',
                size: 'lg',
                resolve: {
                    entity: function () {
                        return {
                            ...
                        };
                    }
                }
            }).result.then(function() {
                $state.go('xyz', null, { reload: true });
            }, function() {
                $state.go('xyz');
            });
        }]
    })

它可以正常工作,但如果我稍微更改它并使用:

ui-sref="xyz.new"

我改变了我的想法 ui-sref="a-xyz.new"Error: Could not resolve 'a-xyz.new' from state 'xyz' transitionTo@http://localhost:9000/bower_components/angular-ui-router/release/angular-ui-router.js:3180:17 go@http://localhost:9000/bower_components/angular-ui-router/release/angular-ui-router.js:3108:14 clickHook/</transition<@http://localhost:9000/bower_components/angular-ui-router/release/angular-ui-router.js:4158:9 timeout/timeoutId<@http://localhost:9000/bower_components/angular/angular.js:19157:28 completeOutstandingRequest@http://localhost:9000/bower_components/angular/angular.js:5869:7 Browser/self.defer/timeoutId<@http://localhost:9000/bower_components/angular/angular.js:6145:7 在我的html模板中

我收到了一个错误:

{{1}}

1 个答案:

答案 0 :(得分:0)

点符号主要用于指示父状态的子状态。您可以参考此链接以更好地理解嵌套视图/状态。

Nested Views

通过这个:

Why Parent State must exist

一位家长可以拥有多个子州。因此,如果您的父级状态为“xyz”,则可以将多个子状态设置为“xyz.a&#39;”,“xyz.b&#39;”,“xyz”。 C&#39;等