2014-06-24 3 views
0

J'essaie de faire un dictionnaire/hashmap en TypeScript, et de lire this Cependant, en essayant de le faire comme l'exemple, j'obtiens des erreurs '= expected' et 'Invalid left-hand expression' , les deux dans la ligne avec 'axis ["vertical"] = 4; La ligne avec x: nombre = axe ["vertical"]; ne se plaint pas cependant. Y at-il quelque chose à propos de l'utiliser dans un cours que j'ai mal compris ou est-ce que je néglige quelque chose?Problèmes avec le dictionnaire TypeScript

Ceci est mon code:

var axis: { [id: string]: number; } = {"vertical": 0, "horizontal": 0}; 

export class Input { 
    x: number = axis["vertical"]; 
    axis["vertical"] = 4; 
} 

J'ai aussi essayé, avec exactement le même résultat.

var axis: axisMap = {"vertical": 4}; 

export class Input { 
    x: number = axis["vertical"]; 
    axis["vertical"] = 4; 
} 

interface axisMap { 
    [id: string]: number; 
} 

Répondre

3

Vous ne pouvez pas avoir d'instructions arbitraires dans un corps de classe. Vous pouvez faire quelque chose comme ceci:

var axis: { [id: string]: number; } = {"vertical": 0, "horizontal": 0}; 

export class Input { 
    x: number = axis["vertical"]; 
    constructor() { 
     axis["vertical"] = 4; 
    } 
} 
+0

Comment n'ai-je pas vu ça? Je pensais que j'étais dans le constructeur .. Merci beaucoup de m'avoir aidé c: – Istarnion

Questions connexes