angular - Angular 接口定义键的允许值
问题描述
我正在使用Angular 8。
我是一个类似的界面
export interface MyInterface {
q: Array<string>;
filter_by: 'id'|'name'|'data';
}
并且定义字典的类型是
@Input filterBy: string;
const a:MyInterface = {
q: ['a', 'b'],
filter_by: this.filterBy
}
但这给出了错误
TS2322: Type 'string' is not assignable to type '"id" | "name" | "data"'.
解决方案
我不认为这里有什么问题。请在此处找到带有相关角度版本的 stackBlitz 示例。错误应该在您尝试分配filter_by
某些不兼容值的其他地方。
对于更新的案例,将filterBy
类型从字符串更改为
@Input filterBy: 'id'|'data'|'name';
推荐阅读
- sql - 尽管数据在所有表或查询中,但访问追加查询一直说要追加 0 行
- python - 在英雄联盟中控制由健康栏百分比领导
- tensorflow - 用于连接层的 LSTM
- python - 满足多个条件的列表组合
- nginx - NGINX 中的多个“中继” - 有可能吗?
- javascript - 检查 react-native npm 包的最低 Android(Sdk) 版本
- ios - 尝试从 android studio 打开时,Xcode 中的 Flutter 打开模块会出错?
- c# - C# 更改先前分配的值
- python - sklearn模型预测在dask网格上
- python - 与 Bronkhorst 质量流量传感器通信 - 设备没有序列号?