误差在角2中意味着什么


export class DashboardComponent implements OnInit {     
@ViewChild('modal') modal: ModalComponent;
        dashboards: IDashboard[];
        dashboard: IDashboard;    
    constructor(private fb: FormBuilder, private _dshboardService: DashboardService, private router: Router) {
                var sesssion = sessionStorage.getItem('EmpDetail');
                var ses = JSON.parse(sesssion);
                var EmpNo = ses[0].EmpNumber;
                var CompanyCode = ses[0].CompanyCode;
                this.dashboard = {};
                this.dashboard.EmpName = ses[0].EmpName;
                this.dashboard.EmpNumber = ses[0].EmpNumber;
            }
}

这在行this.dashboard = {};

上显示以下错误

错误TS2322类型'{}'不能分配给'iDashboard'。
类型'{}'中缺少属性" empname"。

我需要将值分配给仪表板模型的属性,并在HTML组件中绑定相同的属性

下面是我的idashboard:

export interface IDashboard {
    EmpName: string,
    EmpNumber: string,
    EmailId: string,
    FirstName: string,
    LastName: string,
    Gender: string,
    Program:string
}

错误:

this.dashboard = {};

this.dashboard具有类型的iDashboard,我想它至少具有一个可选字段。因此,如果不设置此必需字段,则无法设置对象。类似:

interface Person {
  name: string;
}
const person = {} // Error
const person1 = {name: 'Test'} // No Error

interface Person1 {
 name?: string; //name is optional field
}
 const person = {} // No Error

您需要在构造函数或ngoninit中使用空对象声明并初始化它。

您需要在组件中声明仪表板为

const dashboard: Dashboard= {  param1: "", param2: ""...etc};

最新更新