Я новичок в машинопись и у меня есть интерфейс в машинописи вроде этого:Машинопись интерфейс для определения типа для моей модели
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
}
который соответствует моему интерфейсу, то почему машинописный текст вызывает эту ошибку?
Машинопись версия 1.6.2
Сообщение об ошибке содержит имя файла и строку номер ошибки. Указывает на какой-то код, который вы опубликовали, или мы должны догадываться, где это происходит? Можете ли вы опубликовать полный пример, который мы можем попытаться скомпилировать? Какую версию TypScript вы используете? – DCoder
@DCoder: Изменен код. –
Для начала функция 'pushData' должна использовать' this.model.push', а не просто 'model.push'. Как только я это исправлю, ваш код компилируется без каких-либо предупреждений на игровой площадке TypeScript. – DCoder