我有一个应用程序,我有一个上传组件,我可以上传文件.它嵌入在body.com组件中.
在上传时,它应该使用父组件的函数(例如BodyComponent.thefunction())(做一个调用来更新数据):但是只有当父对象是body.component时才是这样.上传也可能在其他地方使用不同的行为.
像这样的东西(这个).thefunction(),怎么做?
我将在子组件中创建一个自定义事件.这样的事情
- @Component({
- selector: 'child-comp',(...)
- })
- export class ChildComponent {
- @Output()
- uploaded:EventEmitter<string> = new EventEmitter();
- uploadComplete() {
- this.uploaded.emit('complete');
- }
您的父组件可以在此事件上注册
- @Component({
- template `
- <child-comp (uploaded)="someMethod($event)"></child-comp>
- `,directives: [ ChildComponent ]
- })
- export class ParentComponent {
- (...)
- someMethod(event) {
- }
- }