2016-12-29 11 views
0

uiルータを使用して、解決パラメータを角度1のコンポーネントに渡そうとしています。マイUIRouterの構成は以下の通りです: - 私のコンポーネントでUIルータのangular1コンポーネントにパラメータを渡す

.state(memberConstants.memberMVLicense, { 
      url: "/mvlicense", 
      template: '<member-mvlicense member-id="$resolve.memberId" members="$resolve.members"></member-mvlicense>', 
      resolve: { 
       memberId: ["$stateParams", function ($stateParams) { 
        return $stateParams.memberId; 
       }], 
       members: ["$stateParams", "$q", "factory.membersMVLicenses", 
        function ($stateParams: ng.ui.IStateParamsService, $q: ng.IQService, 
         membersMVLicensesService: data.member.IMembersMVLicensesService) { 
         var deferred = $q.defer(); 
         membersMVLicensesService.getByMemberId($stateParams["memberId"]).then((response) => { 
          // response is not null and I got some data for sure 
          deferred.resolve(response); 
         }); 
         return deferred.promise; 
       }] 
      } 
    }) 

にconsole.logを行う際にコンソールログが、メンバーを行うことは常に定義されていない間、私はMEMBERIDを見ることができます。私は私のルート解決で私はそれを正しく渡していないと確信していますが、私はそれを働かせるように見えることはできません。私はあなたの番号と1つのconsole.logの印刷を定義する1つのconsole.logのスタンプメントが未定義であるのを見ることができるので、下のイメージを表示します。

<member-mvlicense-grid member-id="vm.memberId" class="..."> 

として:すべてのヘルプは本当に私の知る限り、あなたのデベロッパーツールのスクリーンショットから見ることができるように、コンポーネントmemberMvlicenseGridがどのmembers属性が渡されていない、だけmemberIdが渡さ

module app.member { 

    class MemberMvlicenseGrid implements ng.IComponentOptions { 
     public controller: any; 
     public template: string; 
     public templateUrl: string; 
     public transclude: boolean; 
     public controllerAs: string; 
     public bindings: { [boundProperty: string]: string }; 
     constructor() { 

      this.controller = MemberMVLicenseGridController; 
      this.templateUrl = "app/member/member-mvlicense-grid.html"; 
      this.transclude = false; 
      this.controllerAs = "vm"; 
      this.bindings = { 
       "memberId": "<", 
       "members": "<" 
      }; 
     } 
    } 

class MemberMVLicenseGridController implements ng.IController { 

     public memberId: string; 
     public members: model.member.IMembersMVLicensesResult[]; 

     public $onInit(): void { 
      console.log(this.memberId);; 
      console.log(this.members); 
     } 
} 
    angular.module("app.member").component("memberMvlicenseGrid", new     MemberMvlicenseGrid()); 
} 

enter image description here

+0

あなたのコードは、これが –

+0

のようなものですので、これは、角度1または2であることをmemberMvlicenseコンポーネントのテンプレートを調整したいほとんどの場合、私はちょうどそれを実現私は質問を投稿したが、あなたが正しいことを拾ったので、答えとしてur replyを受け入れるつもりで –

答えて

1

を理解されるであろうコントローラにthis.membersを記録すると、未定義になると予想されます。

あなたは

<member-mvlicense-grid member-id="vm.memberId" members="vm.members"> 
+0

おかげtypescriptですと1の角度であるangular1 –

関連する問題