javascript - 如何从父类解析的数据中访问属性?
问题描述
我创建了一个解析 json 文件的基类:
const fs = require("fs");
class DataRepository {
constructor() {
this.filename = "cales_data.json";
try {
fs.accessSync(this.filename);
} catch (error) {
console.error("data does not exist");
}
}
async getAll() {
// Open the file called this.filename
return JSON.parse(
await fs.promises.readFile(this.filename, {
encoding: "utf-8",
})
);
}
async getOneBy(filters) {
const records = await this.getAll();
for (let record of records) {
let found = true;
for (let key in filters) {
if (record[key] !== filters[key]) {
found = false;
}
}
if (found) {
return record;
}
}
}
}
module.exports = DataRepository;
在这一点上,我不在乎它的方法。我只想能够访问的内容this.filename = "cales_data.json";
可能是这样的:
const DataRepository = require("./repositories/data");
class Address extends DataRepository {
constructor() {
super();
this.Address = DataRepository.Address;
this.Latitude = DataRepository.Latitude;
this.Longitude = DataRepository.Longitude;
}
}
module.exports = Address;
但显然以上给了我未定义的。是否可以通过这种方式访问该基类中该 JSON 文件中的这些属性?如果是这样,怎么做?
解决方案
简单的回答:没有。除了类内存堆栈上的值之外,“这个”永远不会产生任何结果。你必须处理这个不同的:-)
推荐阅读
- entity-framework - 实体框架:基于最后一级子实体的过滤器
- google-bigquery - bigquery 表的上次访问日期
- javascript - 在 UI 中使用 Angular 反应形式显示选中的复选框
- azure-devops - 有没有办法只使用 az pipelines cli 创建和发布 azure 发布管道?
- angular - ngSwitch 未更改为表达式条件
- azure - Azure Active Directory 用户搜索优化
- java - java - 如何在java eclipse中的同一行中显示计时器的文本
- r - 如何将r中的两个字符向量组合成一个新的向量?
- php - 如何构建具有(只有一页(SPA)和其他普通 PHP 页面的 Angular 应用程序?
- jquery - Jquery:如何使用所需的特定 ID 进行选择