我能够创建一个Typescript类对象,但每次我在类上创建任何方法时它都会中断。
export class VacationServerResults {
vacationOffers: Array<VacationHotelTicketDateOffersModel>;
constructor() {
this.vacationOffers = new Array<VacationHotelTicketDateOffersModel>();
}
public greet() {
return "hello";
}
}
每次我添加greet方法时,都会出现以下错误。
文件: '文件: 严重性:'错误'消息:'Type'{“vacationOffers”:{ “vacationOffer”:{“offerType”:string; “hotelRoomBasePrice”:数字; “hote ...”不能分配给'VacationServerResults'类型 类型'{“vacationOffers”中缺少属性'greet':{ “vacationOffer”:{“offerType”:string; “hotelRoomBasePrice”:数字; “份饭......‘’在:'36,5'来源:'ts'
答案 0 :(得分:1)
您可能在代码中有另一个位置,您可以将对象文字指定给类型为>>> import re
>>> x = 'Wish she could have told me herself. @NicoleScherzy #nicolescherzinger #OneLove #myfav #MyQueen :heavy_black_heart::heavy_black_heart: some string too :smiling_face:'
>>> print(set(re.findall(r':[^:]+:', x)))
{':smiling_face:', ':heavy_black_heart:'}
>>>
的对象。 Typescript使用结构兼容性来确定类型兼容性,因此以下代码有效:
VacationServerResults
添加方法后,对象文字将不再满足类的结构,我们会收到您的错误。您可以执行以下操作之一:
在对象文字中分配方法(一个相当黑客的解决方案)
class Dog {
name: string;
}
var d: Dog = {name : "My dog"};
为您的类创建一个构造函数,该构造函数接受对象文字并新建对象而不是使用对象文字:
class Dog {
name: string;
bark(): void{}
}
var d: Dog = {name : "My dog", bark: Dog.prototype.bark };