我正在實作一個場景,在該場景中單擊抽屜外,我想執行 saveChange 操作,但不知何故它給了我 saveChange 不是函式的錯誤。我嘗試了不同的方法來設定背景關系,但它不起作用。
export default class DrawerModel {
constructor(context) {
this.data = context.primaryInfoData;
this.name = ko.observable('test');
document.addEventListener("click", function (e) {
var self= this;
var element = e.target;
let isOutside = true;
for (var element = e.target; element; element = element.parentNode) {
if (element.id === 'drawer_primaryInfoDrawer') {
isOutside = false;
}
}
if(isOutside) {
self.saveChanges();
}
});
}
saveChanges() {
const data = {
title: this.name(),
}
this.data.valueChangeHandler(data);
};
}
錯誤 :
Uncaught TypeError: self.saveChanges is not a function
uj5u.com熱心網友回復:
這是因為在您的事件偵聽器中,this指的是視窗而不是您的類。你可以通過.bind(this)像這樣添加到你的函式來解決這個問題:
document.addEventListener("click", function (e) {
// ...
}.bind(this));
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/418446.html
標籤:
上一篇:我如何獲得Todo的ID
