【问题标题】:what does the error means in angular 2?角度2中的错误意味着什么?
【发布时间】:2017-12-05 15:20:31
【问题描述】:
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
}

【问题讨论】:

  • 你能显示IDashboard类吗?
  • @SurajRao 我已经用IDashboard 类更新了我的问题。立即查看

标签: angular typescript


【解决方案1】:

出现错误:

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

【讨论】:

    【解决方案2】:

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

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

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

    【讨论】:

    • 在构造函数之上!
    • 如果我在构造函数上方添加此代码,我会收到错误,这就是我问的原因。以下是我的错误 Build:A class member cannot have the 'const' 关键字。构建:重复标识符“仪表板”。构建:找不到名称“仪表板”。
    • 这只是一个示例代码看看这里stackoverflow.com/questions/47618181/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-09-04
    • 2017-09-30
    • 2015-09-13
    • 1970-01-01
    • 2018-12-22
    • 1970-01-01
    • 2023-03-10
    相关资源
    最近更新 更多