【发布时间】:2021-07-12 10:22:19
【问题描述】:
我的 Angular 应用程序中有一个带有表格的组件,该表格使用来自服务器的数据获取列的定义。在 db 列的定义中存储在 jsonb 中。 Angular 应用程序中的类有下一个定义:
export class Table {
id: number;
name: string;
columnsDefinition: ColumnDefinition[];
}
export class ColumnDefinition {
key: string;
title: string;
sortOrder: NzTableSortOrder | null;
sortFn: NzTableSortFn | null; // store function for sorting column
sortFnString: string; // this is function in string that i get from db
}
我应该使用哪个函数将字符串转换为 NzTableSortOrder 类型? 我试过了(只是草稿)
tables.pipe(
map(tables => {
tables.map(t => {
t.columnsDefinition.map(definition => {
definition.sortOrder = JSON.parse(definition.sortFnString)
})
})
}))
但有一个例外“意外的令牌(在 JSON 中” 在库类型的示例中,NzTableSortFn 有下一个定义:
sortFn: (a: DataItem, b: DataItem) => a.name.localCompare(b.name) // for sort by name
或者也许我可以一次将函数存储在 json 中,而无需从字符串中转换它
【问题讨论】:
-
JSON 实际上不支持功能恐怕..?
-
解析前API跟踪值返回的definition.sortFnString的内容是什么,然后在此处键入以再次检查它是否为有效的json格式
标签: json angular typescript