2016-05-30 4 views
1

ich den folgenden Code in Typoskript habe:Typoskript: TS7017 Index Unterschrift des Objekttypen hat implizit einen 'beliebigen' Typen in einer Schleife

export class Custom { 
    [k: string]: any // Index Signature 

    // parameters example 
    // let o:Object = {"blah":1, "foo": "lol"} 
    // let arr: Array<string> = ["blah", "foo"] 
    constructor(o: Object, p: Array<string>) 
    for(let prop of arr) { 
     let p: any = (<any>o)[prop] 
     if (p !== undefined) { 
      this[prop] = p 
     } 
     } 
} 

Ich halte mit TS7017 Index signature of object type implicitly has an 'any' type auf this[prop] = p

Dank!

Bearbeiten: Hinzufügen der Index-Signatur löste mein Problem.

+0

Welche Version von Typescript verwenden Sie? –

+1

Mögliches Duplikat von [Wie verhindere ich den Fehler "Indexsignatur des Objekttyps hat implizit einen" beliebigen "Typ" beim Kompilieren von Typoskript mit aktiviertem Flag noImpicitAny? "(Http://stackoverflow.com/questions/32968332/how-do -i-prevent-the-error-index-signature-of-objekttyp-implicitly-hat-an-an) – Paarth

+0

Ich habe den Fall aktualisiert, also ist es kein Duplikat mehr. – Scipion

Antwort

3

TS7017 Index Signatur des Objekttypen implizit hat einen 'beliebigen' Typen

Unabhängig this in diesem Code ist, es keinen Index Signatur hat (so implizit vorhanden).

Quick Fix

  • Schalten Sie noImplicitAny bis Sie bequemer bekommen die Arbeit mit Typoskript.
+0

Ich werde meinen Beitrag bearbeiten, um dies zu integrieren, was nur eine einfache Klasse ist. Allerdings wäre ich sehr daran interessiert zu sehen, wie man eine Index-Signatur erstellt. – Scipion

+1

Dank der Index-Signatur behoben mein Problem. – Scipion

Verwandte Themen