2016-06-22 15 views
16

Đây là những gì tôi có trong fruit.tsnguyên cảo Loại 'string' là không thể chuyển nhượng để gõ

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

fruit.ts Bây giờ tôi đang nhập khẩu trong một tập tin typescript. Dưới đây là những gì tôi có

myString:string = "Banana"; 

myFruit:Fruit = myString; 

Khi tôi làm

myFruit = myString; 

tôi nhận được một lỗi:

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

Làm thế nào tôi có thể gán một chuỗi để một biến kiểu tùy chỉnh trái cây?

+0

Bạn có hoàn toàn chắc chắn về việc sử dụng dấu nháy đơn và kép trong 'loại xuất khẩu Fruit'? –

+0

@WeatherVane Chỉ cần kiểm tra Fruit.ts của tôi. Tôi có dấu nháy đơn trong đó cho loại xuất khẩu Fruit = 'Orange' || 'Apple' || 'Chuối ". Cảm ơn bạn – user6123723

+0

Vẫn giống như một số dấu ngoặc kép cho tôi ... –

Trả lời

38

Bạn sẽ cần phải cast it:

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

let myFruit: Fruit = myString as Fruit; 

Cũng cần chú ý rằng khi sử dụng string literals bạn cần sử dụng chỉ có một |

+0

đẹp :) trong hầu hết các trường hợp 'const myFruit: Fruit =" Banana "' sẽ làm. – Jacka

Các vấn đề liên quan