javascript - 为什么我不能在 JavaScript 中使用我的类方法访问我的类的属性?
问题描述
我在 JavaScript 中使用类并遇到问题。
- 我定义了一个父类和子类
- 然后我基于这些实例化一个对象
- 然后我从子类调用一个方法,带有一个点击事件,但这个方法似乎无法读取我试图访问的属性。
这是我的 JavaScript 代码
class Box {
constructor(boxId) {
this.boxElement = document.getElementById(boxId)
}
}
class SampleBox extends Box {
constructor(boxId) {
super(boxId)
this.sampleText = this.boxElement.value
this.wordCount = 0
this.textConfirmed = false
}
refreshSampleText() {
console.log(this.wordCount)
this.sampleText = this.boxElement.value
}
}
sampleBoxObject = new SampleBox('display-area')
confirmBtn = document.getElementById('confirm-button')
confirmBtn.addEventListener('click',
sampleBoxObject.refreshSampleText)
我的目标是读取 boxElement 的内容并将其分配给一个名为 sampleText 的属性,但这并没有发生。(从 Box 类可以看出,boxElement 是一个 dom 对象 - 在本例中它是一个文本区域。)
该方法中的 console.log 只是用来查看我是否能够读取构造函数创建的任何属性,但它不能,因为它返回未定义。
我知道正在创建对象实例并且正在使用构造函数设置变量,因为我已经在控制台中签入了这个。
(顺便说一句,我并没有尝试更新 html 元素。我试图从中获取信息,以便之后可以操作该信息。方法名称中的“刷新”一词可能会产生误导。)
这让我感到困惑,我将不胜感激任何帮助。
解决方案
推荐阅读
- angular - 如何动态地将值附加到 ion-textarea?
- vba - 如何将发件人的全名添加到文件路径以保存附件?
- ios - 如何在 Bootstrap 中设置 iOS 状态栏背景颜色?
- javascript - 关于部署前端项目的困惑
- maven - Sonatype Nexus: Hide Uploader's IP Address
- java - How to store some text in a ms word file in a specific format using java or php?
- python-3.x - 如何创建一个仅包含具有特定形状的 inf 的数组?
- python - 如何防止在python退出时在bash中执行按键
- python - Django 架构:我应该在哪里为所有用户安排 Celery Beat 定期任务?
- javascript - 如何使过渡“出现”在第二次加载而不是初始加载时工作