我开始用Angular + Ionic Framework开发一个应用。
我的问题是,我不知道如何在返回的对象上定义类型,以便能够检索特定的属性。
我认为这是一个常见的问题,但我无法找到正确的结果使用谷歌。
当我尝试从设备存储返回我的身份验证令牌时,它看起来像
{
key:'authData',
value: token
}
我无法编译为我的值属性在返回的storedData字段中未知。
错误TS2339:属性'value'不存在类型'unknown'.
return from(Storage.get({ key: 'authData' })).pipe(map(storedData => {
if (!storedData || !storedData.value) {
return null;
}
const parsedData = JSON.parse(storedData.value)
}
所以我正在寻找某种类型来定义storedData对象上的接口类型。亲切的问候!
你必须在你的文件顶部声明一个模型
interface StoredData {
key: string;
value: string;
}
然后在后面的代码中:
return from(Storage.get({ key: 'authData' })).pipe(map(storedData: StoredData => {
if (!storedData || !storedData.value) {
return null;
}
const parsedData = JSON.parse(storedData.value)
}
或者,你可以欺骗过滤器:
return from(Storage.get({ key: 'authData' })).pipe(map(storedData => {
if (!storedData || !storedData['value']) {
return null;
}
const parsedData = JSON.parse(storedData['value'])
}