2016-04-16 10 views
13

Ok, è il mio primo giorno che uso Angular 2 con dattiloscritto e cerco di creare un semplice servizio getter and setter.Errore getter and setter del dattilografo

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

} 

qualcuno può spiegare il motivo per cui il compilatore tipografico sta gettando il seguente errore come penso dovrebbe essere 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). 

risposta

10

si dovrebbe davvero bisogno di parlare di che tipo di Array che volete mentre definirlo, MyClass può essere string/number (tipo di dati)

Codice

export class TodoService { 

    private _todos:Array<MyClass> = []; 

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

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

} 
+0

Se qualche inciampa altro su questo è necessario definire il tipo come una matrice e quindi all'interno della <> creare una classe che è un modello che descrive la struttura della voce dell'array. –