這是基于 CRUD 的 SPA 應用程式。我正在嘗試將 Employee's Single Record 從 Edit Component 傳遞到 Create Component 。因為用戶需要編輯資料。但它不起作用。傳遞給創建組件的空字串。我添加了一些硬線值。然后它可以正常作業而沒有任何問題。請幫助我解決此事件。
edit.component.ts
@Component({
selector: 'app-edit',
.....
})
export class EditComponent implements OnInit {
emp_no: number = 0;
empSingleRecord: any = "";
constructor(
private router: Router,
private route: ActivatedRoute,
private requestHandlerService: RequestHandlerService) {
}
ngOnInit(): void {
this.emp_no = this.route.snapshot.params['id'];
this.loadSingleEmploymentData();
}
loadSingleEmploymentData() {
this.requestHandlerService.getRequest('emp/' this.emp_no).subscribe({
next: (resultData: any) => {
this.empSingleRecord = resultData.data;
},
error: (errorData: any) => {
console.log(errorData);
},
});
}
}
edit-component.html
<app-create employeeFromEdit="{{empSingleRecord}}"></app-create>
create.component.ts
@Component({
selector: 'app-create',
....
})
export class CreateComponent implements OnInit {
@Input('employeeFromEdit') public employee: any = {
emp_no: "",
birth_date: "",
first_name: "",
last_name: "",
gender: "",
hire_date: "",
salaries: [{
salary: "",
from_date: "",
to_date: "",
}],
designations: [{
title: '',
from_date: '',
to_date: '',
}]
};
constructor() {
}
ngOnInit(): void {
console.log(this.employee)
}
uj5u.com熱心網友回復:
父子相傳的問題
<app-create [employeeFromEdit]="empSingleRecord"></app-create>
創建.component.ts
import {Component, EventEmitter, Input, OnInit, Output, ViewChild} from '@angular/core';
@Input()
set employeeFromEdit(val){
console.log(val)
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/429993.html
