【发布时间】:2017-12-15 14:49:55
【问题描述】:
我所有的事件发射器都正常工作,除了一个。
child.ts:
@Component({
...
outputs: ['fileUploaded']
})
export class childComponent implements OnInit {
...
fileUploaded = new EventEmitter<boolean>();
...
randomMethod(){
...
this.fileUploaded.emit(true);
}
}
randomMethod() 是从父组件调用的,我将在 父.ts。在 child.html 中没有调用它。
parent.html
...
<child (fileUploaded)="onSubmit($event)"></child>
..
parent.ts
export class parentComponent {
...
theChild = new childComponent;
submitted = false;
...
onSubmit(event: boolean) {
console.log('in onSubmit()');
this.submitted = event;
}
functionCallsChild(){
this.theChild.randomMethod();
...
this.theChild = new childComponent;
}
}
我的应用从不登录“onSubmit()”,那么为什么不调用这个方法呢?我还尝试不在最后一行创建新的子对象,但这并没有什么不同。
【问题讨论】:
-
尝试使用@Output 装饰器,查看更多:learnangular2.com/outputs
标签: angular typescript data-binding eventemitter