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
クラスは、基本的には、Item
クラスは、そのDOM要素を保持しているelement
属性を持っています。
私は今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() {
...
}
を持っていたが、私はそれがプロトタイプの機能の代わりに、上記の矢印演算子でインスタンス機能として実装することをお読みください。
arrow機能を正しく使用していますか? Item
インスタンスの機能を変更するにはどうすればよいですか?ありがとう!
'amount'は' Item'には関連付けられませんが、 'InventoryElement'に関連付けられます。私は 'Item'のツールチップにまだそれを表示しようとしていましたが、それは可能ではないかもしれません。 – glitchroy
私は知っています。しかし、Item.elementの属性として金額を設定しています。だから要素がそれに反応するとき、それをItemに関連付けるのはなぜですか? – Luke
実際にはい、私はそれがより簡単になり、呼び出しコンテキストと関数バインディングなどで頭痛を回避すると思います。ありがとう! – glitchroy