2016-06-22 10 views
16

Ecco quello che ho in fruit.tstipografico Tipo 'stringa' non è cedibile a digitare

export type Fruit = "Orange" | "Apple" | "Banana" 

Ora sto importazione fruit.ts in un altro file typescript. Ecco quello che ho

myString:string = "Banana"; 

myFruit:Fruit = myString; 

Quando faccio

myFruit = myString; 

ottengo un errore:

Type 'string' is not assignable to type '"Orange" | "Apple" | "Banana"'

Come posso assegnare una stringa ad una variabile di tipo personalizzato di frutta?

+0

Siete abbastanza sicuri circa l'uso di virgolette singole e doppie in 'tipo di esportazione Fruit'? –

+0

@WeatherVane Ho appena controllato il mio Fruit.ts. Ho delle virgolette singole per il tipo di esportazione Fruit = 'Orange' || 'Apple "||' Banana". Grazie – user6123723

+0

Sembra ancora qualche virgoletta per me ... –

risposta

38

Avrai bisogno di cast it:

export type Fruit = "Orange" | "Apple" | "Banana"; 
let myString: string = "Banana"; 

let myFruit: Fruit = myString as Fruit; 

Si noti inoltre che quando si utilizza string literals è necessario utilizzare un solo |

+0

bello :) nella maggior parte dei casi 'const myFruit: Fruit =" Banana "' farebbe. – Jacka

Problemi correlati