搜索

首页  >  问答  >  正文

javascript - typescript对象字面量类型定义

想要使用typescript定义一个对象,对象中可以有任意属性,但是在访问属性的时候会报错,显示Property "a" does not exist on type Object,请问有方法可以定义这样一个对象吗?

type Options = {
    data: Object
}
const v: Options = {
    data: {
        a: 1,
        b: 2
    }
}
v.data.a
// Property "a" does not exist on type Object
为情所困为情所困2708 天前1112

全部回复(2)我来回复

  • 阿神

    阿神2017-07-05 11:09:22

    你把data定义成Object了,Object并不存在a属性

    如果要定义一个key:value结构的对象要这样

    data: { [key: string]: any } 

    回复
    0
  • 天蓬老师

    天蓬老师2017-07-05 11:09:22

    你的data没有声明属性,默认为空对象,然后你调用了a并不存在于类型声明中然后报错

    回复
    0
  • 取消回复