我需要将接口属性映射到对象:
interface Activity {
id: string,
title: string,
body: string,
json: Object
}
我目前正在做:
headers: Array<Object> = [
{ text: 'id', value: 'id' },
{ text: 'title', value: 'title' },
{ text: 'body', value: 'body' },
{ text: 'json', value: 'json' }
]
这变得非常重复。我希望的是像这样的东西:
headers: Array<Object> = Activity.keys.map(key => {
return { text: key, value: key }
})
const
)定义是一个值,而第二个定义则是类型定义。例如,如果你没有第二个定义,并且你这样写:let a: Activity;
你将会得到以下的错误:"Cannot find name 'Activity'"
。编译器将在不同的时间/情境使用这些定义。 - Nitzan TomerActivity.keys
替换为['id', 'title', 'body', 'json']
的众多场合之一。 - O. R. Mapper