我试图用我的 component.ts 中的变量(角度)影响 class.ts 中的设置属性,如下所示:
this.UserPaiemet.setDate(this.DateN)
IDE 向我显示此错误:
Argument of type 'string | null' is not assignable to parameter of type 'String'.
Type 'null' is not assignable to type 'String'.
131 this.UserPaiemet.setDate(this.DateN)
我不知道如何修复它。
我的班级:
export class UserPaiemet
{
private id!:Number;
private date!:String;
private nbrmois!:Number;
}
和我的组件方法
date = new Date()
DateN = this.datePipe.transform(this.date, "yyyy-MM-dd")
UserPaiemet= new UserPaiemet()
updateUserPai()
{
this.UserPaiemet.setDate(this.DateN)
}
答案 0 :(得分:1)
请使用以下约定来声明类型,例如(String -> string)
export class UserPaiemet {
private id!: number;
private date!: string;
private nbrmois!: number;
}
date = new Date();
DateN = this.datePipe.transform(this.date, "yyyy-MM-dd") || ''; // or dummy date here
UserPaiemet = new UserPaiemet();
updateUserPai();
{
this.UserPaiemet.setDate(this.DateN);
}
答案 1 :(得分:0)
尝试将您的数据类型更改为小写
export class UserPaiemet
{
private id:number;
private date:string;
private nbrmois:number;
}
答案 2 :(得分:0)
在javascript中,“number”是原始类型,“Number”是对象类型。作为 Java int 和 Integer 中的比较(int 是原始类型 Integer 而不是对象类型),因此在您的情况下 Number 不等于 number。但在您的情况下,问题是另一个:您不能将 null 或 string 分配给 String 类型。可能 ide 没有很好地识别对象类型,因此尝试将其置于小写并执行。
否则试试:
export class UserPaiemet
{
private id:number;
private date:string|null;
private nbrmois:number;
}