模型 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'] 才能访问该值。