Strongloop(环回)class 方法

Strongloop (loopback) class methods

我很难理解 Strongloop 模型的行为方式。有很多关于静态和远程方法的文档,但是一般的 class 方法呢?

假设我有一个用户模型,它有一个显示全名的方法:

module.exports = function (User) {
    User.name = function () {
        return User.firstname + ' ' + User.lastname;
    }
};

如何获取此用户并使用该方法?我想:

var User = app.models.User;

User.findById('559103d66d', function (err, model) {
    console.log(model.name());
});

但显然,findById returns 一个包含所有属性的 JSON 对象而不是实际模型。那么如何在 Strongloop 中定义和使用模型方法呢?

如果您打算在 'User' 模型的实例上使用 name() 函数,则需要使用 javascript 的 'prototype' 属性。如下:

User.prototype.name = function () {
   return this.firstname + ' ' + this.lastname;
}

一切顺利。