问题
Ok it's my first day doing some Angular 2 using typescript and I am try to make a simple getter and setter service.
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;
}
}
Can anyone explain why the Typescript compiler is throwing the following error as I think it should be ok.
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).
回答1:
You should really need to mention which kind of Array
you want while defining it, MyClass
can be string
/number
(datatype)
Code
export class TodoService {
private _todos:Array<MyClass> = [];
get todos():Array<MyClass> {
return this._todos;
}
set todos(value:Array<MyClass>) {
this._todos = value;
}
}
来源:https://stackoverflow.com/questions/36664824/typescript-getter-and-setter-error