2016-09-25 12 views
0

私は単純なイベントを放出しようとしています。ここでAngular2 EventEmitter動作していないとエラーが発生していない

import {Component, Input, Output, EventEmitter} from '@angular/core' 
import {MenuService} from "./menu.service"; 


    @Component({ 
     selector:'side-menu', 
     templateUrl:'component.html', 
    }) 

    export class SideMenuComponent { 

     @Output() pinnedChange:EventEmitter<any> = new EventEmitter(); 

     //Show and Hide the Detail Pane 
     detailPanePinned = false; 
     detailPaneVisible = false; 

     pinMenuClick(){ 
      this.detailPanePinned = !this.detailPanePinned; 
      this.detailPaneVisible = !this.detailPaneVisible; 

      this.pinnedChange.emit({ 
       detailPanePinned: this.detailPanePinned 
      }) 

     } 

    } 

は、HTMLは、私はいずれかを取得いけない、私はそれのために

<side-menu class="side-block pull-left"> 

</side-menu> 
<design-pane (change)="onPinnedChange($event)"></design-pane> 
<side-menu class="side-block pull-right"> 
</side-menu> 

を聞くしようとしていますし、ここで私はpinMenuClickをクリックすると

import {Component} from '@angular/core' 

@Component({ 
    selector:'builder-layout', 
    templateUrl:'app/builder/layout/layout.component.html' 
}) 

export class BuilderLayoutComponent { 

    onPinnedChange($event){ 
     console.log($event) 
    } 
} 

上記のhtmlのコンポーネントでありますエラー。それはちょうど私が私がイベントを発するだけの成分があなたの場合、サイドメニューには、それを聞くことができると信じてAngular2 2.0.0公式

答えて

3

を使用しています私のonPinnedChange()

を打つdoesntの。だからこのような何かをする必要があります:

<side-menu (pinnedChange)="onPinnedChange($event)"></side-menu> 
+0

うわー。それは働いた.. Thx – Rob

関連する問題