2016-12-28 10 views
3

私はmaterial2のダイアログコンポーネントを実装し、この問題に直面しています:ダイアログコンポーネントへの入力値を渡す

私はすべてのメッセージの確認タイプのための一般的なダイアログを作りたい、どこ開発者は、ダイアログに入力したテキストをすることができますビジネス要件に応じてしかし、docsによれば、そのような規定はありません。私たちは同じことを回避しようとしていますか、それともgithubの機能要求として投稿するべきですか?

export class ConfirmationDialogComponent implements OnInit { 

@Input() confirmationText: string; 
@Input() confirmationTitle: string; 
@Input() confirmationActions: [string, string][] = []; 

constructor(public dialogRef: MdDialogRef<ConfirmationDialogComponent>) { 
} 

ngOnInit() { 
} 

} 

次のように呼び出す:

let dialogRef = this.dialog.open(ConfirmationDialogComponent); 
+0

投稿してくださいあなたのコード – yurzui

+0

@yurzuiコード –

+1

チェックを追加しましたhttp://stackoverflow.com/questions/34205593/working-example-of-angular-2-0-material-mddialog-with-angular - 2-0/40185852#40185852手順8を参照 – yurzui

答えて

10

はあなたにコンポーネントのインスタンスを与えるオープン、あなたはこのようにそれをしたい注入することができ、これまでどのような意味:

openDialog() { 
    let dialogRef = this.dialog.open(DialogOverviewExampleDialog); 
    let instance = dialogRef.componentInstance; 
    instance.text = "This text can be used inside DialogOverviewExampleDialog template "; 
    console.log('dialogRef',dialogRef); 
    } 

その後明らかに内あなたができるDialogOverviewExampleDialogテンプレート:

this is the text {{text }} 
モーダル・コンポーネントの内部

private config = { 
    title :"Hello there ", 
    text :"What else ? " 
}; 

openDialog() { 
    let dialogRef = this.dialog.open(DialogOverviewExampleDialog); 
    let instance = dialogRef.componentInstance; 
    instance.config = this.config; 
    console.log('dialogRef',dialogRef); 
    } 

そしてを:私は通常、私は私のコンポーネントを理解し、構成オブジェクトを作成したいんだろうとモーダルを開くときに、私はこれを渡すよ何0

Plunker

<div class="my-modal"> 
    <h1>{{config.title}}</h1> 
    <p>{{config.text}}</p> 
</div> 
+0

ありがとうございます。コンポーネントを初期化する前にパラメータを渡す必要がありました。これには別のスレッドがあります。https://stackoverflow.com/questions/40648252/how-can-i-pass-a-service-variable-into-an-angular-material-dialog –

関連する問題