1
こんにちは、オブジェクトの配列を素材ダイアログに渡そうとしています。ここで私はそれをやっている方法です。コンポーネントクラスで四角形の四角形のダイアログボックスがオブジェクトの配列をダイアログボックスに渡します
Model
export interface IPoducts{
recordname: string;
comments: [{
comment: string
}]
}
関連
constructor(public dialog: MdDialog, private productService: ProductService){}
prod: IProducts[]=[]
ngOnInit(): void{
//service getting data from database
this.productService.getProcessnotes().subscribe(producsts=>this.products=products,error=>this.errorMessage=<any>error);
//opening dialgue
openDialog(prod:any): void {
let dialogRef = this.dialog.open(prodDialog, {
width: '400px',
height: '500px;',
data: this.prod <------------------passing the object array
});
}}
たダイアログボックスの成分を以下有します。
@Component({
selector: proddialog',
templateUrl: 'dialogdetails.html',
})
export class ProdDialog implements OnInit{
public pnote: IProducts[];
constructor(
public dialogRef: MdDialogRef<DialogOverviewExampleDialog>,
@Inject(MD_DIALOG_DATA) public data: {pnote:this.prod }) { }
public pnote: products;
onNoClick(): void {
this.dialogRef.close();
}
public ngOnInit():void{
this.pnote=this.data.prod;
}
In main template button triggers the dialog box by passing a pnote from *ngFor="let pnote of products"
<button md-raised-button (click)="openDialog(pnote)">Open Dialog</button>
ダイアログボックスには、私は、このダイアログが飛び出す実行すると
<div>
<h2 md-dialog-title>MY DIALOG</h2>
<hr>
<md-dialog-content>
<div*ngFor=prod in products>
{{prod.recorname}}
</div>
<br>
<br>
<strong>{{data}}</strong>
</md-dialog-content>
<hr>
<md-dialog-actions>
<button md-raised-button (click)="onCloseConfirm()">CONFIRM</button>
<button md-raised-button (click)="onCloseCancel()">CANCEL</button>
</md-dialog-actions>
</div>
ですが、データのためだけの銀行を参照してくださいています。 Noeデータ。ダイアログでオブジェクトの配列を渡す方法を教えてください。私のソリューションは他のソリューションに基づいていますが、運はありません。
注:すべてがうまくいきます。オブジェクトの配列が渡されない限り、エラーはありません。
あなたが何らかの形でインデントを再訪もらえますか? 2番目のスニペットは読めるにはあまりにも奇妙です。 –
ちょうどそれが役立つことを願った。主な問題はどこのデータです:this.prod someどのようにダイアログボックスに渡されていない –