我有一种字符串文字定义为type answer = 'yes'|'no';
我试图“传递”这种类型。所有类和文件都可以相互正确导入/导出。
File1.ts
type answer = 'yes'|'no';
export class test{
static getAnswer(input:answer){
if(answer === 'yes') console.log('Correct');
else console.log('False');
}
}
File2.ts
import {test} from 'File1';
class sendAnswer{
static answer(input:string){
test.getAnswer(input); //this is where I get the error
}
}
错误:
TS2345'string'类型的参数不能分配给'itemString'类型的参数
我有许多文件会使用字符answer()
或File2.ts
从'yes'
拨打'no'
。
我知道我可以在每个文件中定义类型,以便将正确的选项传递到顶层,但我试图找到一种方法在顶层声明类型,并将其传递给使用该函数的文件
答案 0 :(得分:1)
您可以像使用类一样导出/导入类型。所以只需导出文字类型并在需要时使用它。
文件1
export type Answer = 'yes'|'no';
...
文件2
import {test, Answer} from 'File1';
...
static answer(input: Answer) {}
...