模型 class 中的访问字段始终未定义
Accessing fields in model class are always undefined
有一个模型class:
item.js:
exports.constructor = function constructor(field) {
var item = new Item()
item.field = field;
return item
}
class Item {
set field(field) {
this._field = field
}
get field() {
return this._field;
}
}
我现在读取存储库文件中的数据库字段,我已将其插入其中。
repository.js:
connection.query("SELECT * FROM items ", function (err, rows, fields) {
if (err) throw err;
for (var i = 0; i < rows.length; i++) {
console.log("## " + rows[0].field())
}
});
进入调试器我可以看到 rows[0] 是一个 RowDataPacket。如果我展开对象的调试器视图,我会看到该字段在数据库中也有正确的字符串。
但:行[0].field()或行[0]._field 如果我以这种方式打印变量,则始终是未定义的。谢谢 4 的帮助!
找到答案了。通常的 "getter" 没有用。我需要到项目 ['field'] 才能访问该值。
有一个模型class:
item.js:
exports.constructor = function constructor(field) {
var item = new Item()
item.field = field;
return item
}
class Item {
set field(field) {
this._field = field
}
get field() {
return this._field;
}
}
我现在读取存储库文件中的数据库字段,我已将其插入其中。
repository.js:
connection.query("SELECT * FROM items ", function (err, rows, fields) {
if (err) throw err;
for (var i = 0; i < rows.length; i++) {
console.log("## " + rows[0].field())
}
});
进入调试器我可以看到 rows[0] 是一个 RowDataPacket。如果我展开对象的调试器视图,我会看到该字段在数据库中也有正确的字符串。
但:行[0].field()或行[0]._field 如果我以这种方式打印变量,则始终是未定义的。谢谢 4 的帮助!
找到答案了。通常的 "getter" 没有用。我需要到项目 ['field'] 才能访问该值。