我试图发出一个简单的事件,但我不能让它工作。
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>下面是上述html的组件。
import {Component} from '@angular/core'
@Component({
selector:'builder-layout',
templateUrl:'app/builder/layout/layout.component.html'
})
export class BuilderLayoutComponent {
onPinnedChange($event){
console.log($event)
}
}当我点击pinMenuClick时,我没有得到任何错误。它就是打不中我的onPinnedChange()
我使用的是Angular2 2.0.0官方版
发布于 2016-09-26 05:20:35
我相信只有发出事件的组件才能监听它,在您的情况下,就是侧边菜单。所以你需要这样做:
<side-menu (pinnedChange)="onPinnedChange($event)"></side-menu>https://stackoverflow.com/questions/39691728
复制相似问题