我有一個角度爲4的應用程序,我想在對話框中顯示數據。因此,我使用@Output
將數據從子項傳遞給父組件。在angular4應用程序中顯示模式對話框中的數據
所以,在父組件我有:
export class DashboardComponent {
myTask;
public returnTask(task: any):void {
console.log("returnTask");
this.myTask = task;
console.log(this.myTask);
}
openDialogEditTask() {
console.log(this.myTask);
let dialogRef = this.dialogEditTask.open(DialogEditTask, {
//task
data: {
start: this.myTask.start,
end: this.myTask.end,
status: this.myTask.status,
user: this.myTask.user,
content: this.myTask.content,
id: this.myTask.id,
rate: this.myTask.rate
}
});
dialogRef.afterClosed().subscribe(result => {
this.selectedOption = result;
});
}
}
在父HTML,我有:
<visTimeline (myTask)="returnTask($event)"></visTimeline>
在子組件,我有:
export class VisTimelineComponent {
@Output() myTask: EventEmitter<any> = new EventEmitter<any>();
}
我發出的任務與self.myTask.emit(task);
所以,我得到父組件中的數據(我可以在控制檯中看到它們),但是我不能在openDialogEditTask
中使用它們,因爲它沒有定義。
那麼,你是否知道在調用函數來獲取對話框中的數據之前,我怎樣獲取數據呢?
編輯: 這是我的代碼發出DATAS在子組件:
ngOnInit() {
Timeline.prototype.onTaskDoubleClick = function(task) {
console.log("Double click on task " + task.id);
console.log(task);
$('#editTask').click();
self.myTask.emit(task);
};
}
Timeline.prototype.onTaskDoubleClick
是從庫中的函數。
什麼時候openDialogEditTask被調用? –
如何使用openDialogEditTask中的數據,使用安全的操作符可能有助於數據?.whatyouwant –
openDialogEditTask在點擊按鈕時調用: – Adrien