将md-input值从对话框传递到父组件函数

时间:2017-09-04 11:48:24

标签: angular modal-dialog parameter-passing angular-material2

我在对话框窗口中有一个md-input字段(该对话框是子组件)。我需要将此值作为父组件中的函数的参数传递。 怎么做?

1 个答案:

答案 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