错误 TS2741:类型中缺少属性

2024-01-28

在文件 models/User.model.ts (见下文)中,我尝试设置方法 isEqual ,如下面的代码所示。 有人可以更正我的代码吗?

文件模型/User.model.ts:

export class User {
    constructor(
    public firstName: string,
    public lastName: string,
    ) {}

    isEqual (other : User): boolean {
    return other === this;
    }
}

文件 services/user.service.ts :

import { User } from '../models/User.model';
import { Subject } from 'rxjs/Subject';

export class UserService {

    private users: User[] = [
    {
        firstName: 'William',
        lastName: 'Jones'
    },
    {
        firstName: 'John',
        lastName: 'Doe'
    }
    ];

...

services/user.service.ts(7,2) 中的错误:错误 TS2741:类型“{firstName: string;”中缺少属性“isEqual”; lastName: string;}' 但在“User”类型中是必需的。


services/user.service.ts(7,2) 中的错误:错误 TS2741:类型“{firstName: string;”中缺少属性“isEqual”; lastName: string;}' 但在“User”类型中是必需的。

这是因为在您的类定义中声明了函数isEqual,但在您的用户列表中您只有firstName and lastName但不是相关的功能和用户类型Users.

{
  firstName: 'William',
  lastName: 'Jones'
},

正如评论中提到的,您可以使用new ()做一个新的User其中还应该包括该功能。

public exampleUser = new User("William", "Jones");

然后这可以依次用于一系列Users

public users: Users =  [ this.exampleUser ];
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

错误 TS2741:类型中缺少属性 的相关文章

随机推荐