Typescript用于定义模型类型的接口

时间:2016-01-30 05:46:37

标签: typescript

我是打字稿的新手,我在打字稿中有这样的界面:

interface Model{
   class : String,
   id: Number
}

在我的模型类中,我使用过这样的界面:

class MyModel{

    model: Array<Model> = []

    pushData(val){
       model.push(val) //error happens here
    }

}

关于编译打字稿似乎抛出了错误:

error TS2345: Argument of type '{}' is not assignable to parameter of type 'Model'.
  Property 'class' is missing in type '{}'.

我检查过val的值只是:

{
  class : "test", id : 123
}

哪个匹配我的界面,那么为什么typescript会抛出这个错误?

打字稿版本是1.6.2

1 个答案:

答案 0 :(得分:3)

可能是因为你没有给val一个类型它转换成任何类型{}

class MyModel{

    model: Array<Model> = []
    // try this
    pushData(val:Model){
       model.push(val) //error happens here
    }

}