2016-04-16 18 views
13

Ok, to mój pierwszy dzień, kiedy gram Anglica 2 używając maszynopisu i staram się stworzyć prostą usługę pobierającą i ustawiającą.Błąd typu getter i ustawiającego

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; 
    } 

} 

Czy ktoś może wyjaśnić, dlaczego kompilator Typescript rzuca następujący błąd, ponieważ myślę, że powinno być w porządku.

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). 

Odpowiedz

10

Należy naprawdę trzeba wspomnieć, jakiego rodzaju Array chcesz podczas definiowania go MyClass może być string/number (typ danych)

Kod

export class TodoService { 

    private _todos:Array<MyClass> = []; 

    get todos():Array<MyClass> { 
    return this._todos; 
    } 

    set todos(value:Array<MyClass>) { 
    this._todos = value; 
    } 

} 
+0

Jeśli wszelkich potknięć nikogo w tym przypadku musisz zdefiniować typ jako tablicę, a następnie wewnątrz <> utworzyć klasę, która jest modelem opisującym strukturę elementu tablicy. –

Powiązane problemy