2016-08-08 3 views
0

私はjhipsterを使ってアプリケーションを生成しました。同じエンティティを使用する2つの異なるタイプのフォームを追加しようとしました(エンティティのすべてのフィールドを使用せず、Angleが状態から解決できません

今、それがために大丈夫作品:

.state('xyz', { 
     parent: 'entity', 
     url: '/xyz', 
     data: { 
      authorities: ['ROLE_USER'], 
      pageTitle: 'xyzs' 
     }, 
     views: { 
      '[email protected]': { 
       templateUrl: 'app/entities/xyz/xyzs.html', 
       controller: 'XyzController', 
       controllerAs: 'vm' 
      } 
     }, 
     resolve: { 
     } 
    }).state('xyz.new', { 
     parent: 'xyz', 
     url: '/new', 
     data: { 
      authorities: ['ROLE_USER'] 
     }, 
     onEnter: ['$stateParams', '$state', '$uibModal', function($stateParams, $state, $uibModal) { 
      $uibModal.open({ 
       templateUrl: 'app/entities/xyz/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'); 
      }); 
     }] 
    }) 

そして、それは大丈夫動作しますが、私はそれを小さなビットと使用変更する場合:

.state('xyz', { 
     parent: 'entity', 
     url: '/xyz', 
     data: { 
      authorities: ['ROLE_USER'], 
      pageTitle: 'xyzs' 
     }, 
     views: { 
      '[email protected]': { 
       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" htmlテンプレート

私はgettin gエラー:

Error: Could not resolve 'a-xyz.new' from state 'xyz' 
[email protected]://localhost:9000/bower_components/angular-ui-router/release/angular-ui-router.js:3180:17 
[email protected]://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 
[email protected]://localhost:9000/bower_components/angular/angular.js:5869:7 
Browser/self.defer/timeoutId<@http://localhost:9000/bower_components/angular/angular.js:6145:7 
+1

a-xyzは、これは「a-xyz.new」は子の状態になります。 'xyz'の名前を '' a-xyz 'に変更してみてください... – Shivi

+0

Ok。それは動作します。しかし、私には意味をなさない。気にしないで親の州の名前を自分の州の名前と同じにしたいのであれば、なぜ親を指定する必要がありますか?それを行う他の方法はありますか?だから私は1つの親に他の多くの州をリンクすることができますか? 'a-xyz'、' b-xyz'のように?私は重複したコードを(編集、削除のために)できるだけ多くする必要があります – user3212350

答えて

0

ドット表記は基本的に親状態の子状態を示すために使用されます。ネストされたビュー/状態をよりよく理解するために、このリンクを参照することができます。

Nested Views

この通過します:

Why Parent State must exist

一つの親が複数の子の状態を持つことができます。したがって、親状態が 'xyz'の場合、複数の子状態を 'xyz.a'、 'xyz.b'、 'xyz.c'などとすることができます。

関連する問題