我有一个应用,我有一个上传组件,我可以上传一个文件.它被嵌入到了body.component
.
在上传时,它应该使用父组件的一个函数(例如BodyComponent.thefunction()
)(调用以更新数据):但前提是它的父组件是body.component
.上传也可能在其他地方使用不同的行为.
大概parent(this).thefunction()
左右,怎么做呢?
我有一个应用,我有一个上传组件,我可以上传一个文件.它被嵌入到了body.component
.
在上传时,它应该使用父组件的一个函数(例如BodyComponent.thefunction()
)(调用以更新数据):但前提是它的父组件是body.component
.上传也可能在其他地方使用不同的行为.
大概parent(this).thefunction()
左右,怎么做呢?
我将在子组件中创建一个自定义事件.比如:
@Component({
selector: 'child-comp',
(...)
})
export class ChildComponent {
@Output()
uploaded = new EventEmitter<string>();
uploadComplete() {
this.uploaded.emit('complete');
}
您的父组件可以在此事件上注册
@Component({
template `
<child-comp (uploaded)="someMethod($event)"></child-comp>
`,
directives: [ ChildComponent ]
})
export class ParentComponent {
(...)
someMethod(event) {
}
}
另一种方法是将父组件注入子组件,但它们将紧密链接在一起……