【发布时间】:2018-04-06 22:41:41
【问题描述】:
我有一个像这样构建的Item 类
export class Item {
element:JQuery<HTMLElement>
constructor(...) {
this.element = $("<div >...</div>");
...
this._tooltipUpdate();
this.element.tooltip({
items: "div[data-tooltip]",
content: this.element.attr("data-tooltip"),
open: this._tooltipUpdate,
...
});
}
...
public _tooltipUpdate = ():void => {
this.element.attr(
"data-tooltip",
`...`
);
};
}
基本上,Item 类有一个 element 属性来保存其 DOM 元素。
我现在有一个不同的班级,InventoryElement
export class InventoryElement extends MenuElement {
amount:number;
constructor(item:Item) {
super(...)
this.amount = 0;
...
this.item._tooltipUpdate = () => {
this.element.attr(
"data-tooltip",
`${this.amount}`
);
}
}
}
InventoryElement 的 Item 实例基本上应该具有不同的 _tooltipUpdate 函数。
目前,它没有正确覆盖它。
我之前在 Item 上的 _tooltipUpdate 是这样实现的,
_tooltipUpdate() {
...
}
但我读到这会将其实现为原型函数,而不是带有上述箭头运算符的实例函数。
我是否正确使用了箭头功能?如何更改Item 实例的功能?谢谢!
【问题讨论】:
标签: javascript jquery typescript jquery-ui arrow-functions