好的,这是我第一天使用打字稿做一些Angular 2,我试着做一个简单的getter和setter服务。
import {Injectable} from "angular2/core";
@Injectable()
export class TodoService {
private _todos:Array = [];
get todos():Array {
return this._todos;
}
set todos(value:Array) {
this._todos = value;
}
}
任何人都可以解释为什么Typescript编译器会抛出以下错误,因为我认为它应该没问题。
ERROR in [default] /Users/testguy/WebstormProjects/angular2-seed/src/app/services/todo-service.ts:6:17
Generic type 'Array<T>' requires 1 type argument(s).
ERROR in [default] /Users/testguy/WebstormProjects/angular2-seed/src/app/services/todo-service.ts:8:14
Generic type 'Array<T>' requires 1 type argument(s).
ERROR in [default] /Users/testguy/WebstormProjects/angular2-seed/src/app/services/todo-service.ts:12:18
Generic type 'Array<T>' requires 1 type argument(s).
答案 0 :(得分:11)
在定义时,您确实需要提及所需的Array
种类,MyClass
可以是string
/ number
(数据类型)
<强>代码强>
export class TodoService {
private _todos:Array<MyClass> = [];
get todos():Array<MyClass> {
return this._todos;
}
set todos(value:Array<MyClass>) {
this._todos = value;
}
}