2017-08-28 273 views
3

我想用Angular2编写Webstorm上的Web应用程序。做这件事我很新。我正在尝试角网站Angular.IO上的教程。类型'MyObject'中缺少属性'prototype'

当我尝试制作人可点击的列表时,它不起作用。

export class PersonComponent { 
persons = MYPERSONS; 
selectedPersons = Person; 

onSelect(person: Person): void { 
    this.selectedPerson = person; // here is the error on "this.selectedPerson" 
} 
} 

const MYPERSONS: Person[] = [ 
{id:0, firstName: 'First', lastName: 'Firstly', creationData: 1}, 
{id:1, firstName: 'Second', lastName: 'Test', creationData:10}, 
{id:2, firstName: 'Third', lastName: 'Candidate', creationData:5} 
]; 

export class Person { 
id: number; 
firstName: string; 
lastName: string; 
creationData: any; 
} 

我得到以下错误:

Type 'Person' is not assignable to type 'typeof Person'. Property 'prototype' is missing in type 'Person'.

是什么意思?我无法在互联网上找到这个错误。这可能是什么什么,我没有对代码看到的,因为我的一些经验

回答

8

当你写这样的:

selectedPersons = Person; 

你指定一个类Person 参考到默认值变量selectedPersons。您可能打算做的是指定selectedPersons class属性将包含Person类实例。你可以这样做:

selectedPersons:Person; 
+1

天啊!谢谢。这太微不足道了! – TYL

+1

@TubaYlm,太棒了,别忘了你可以接受我的回答:) –

+2

如果你有上面的错误只是检查=和: – Khuzema