在文件 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(使用前将#替换为@)