我在对话框窗口中有一个md-input
字段(该对话框是子组件)。我需要将此值作为父组件中的函数的参数传递。
怎么做?
答案 0 :(得分:1)
定义一个shared.service
,它将输入值传递给父组件:
import {Injectable } from '@angular/core';
import { Subject } from 'rxjs';
@Injectable()
export class SharedService{
public triggerParentMethod: Subject<string> = new Subject<string>();
}
在ParentComponent
中,订阅构造函数中的triggerParentMethod
:
constructor(private sharedService:SharedService,public dialog: MdDialog){
this.sharedService.triggerParentMethod.subscribe( someValueFromDialog =>{
// Pass the value to the method here.
this.someMethod(someValueFromDialog);
});
}
将<md-input>
绑定到某些[(ngModule)]
:
您可以从对话框中发出该输入值,如下所示:
this.sharedService.triggerParentMethod.next(this.someField);
链接到working demo。