Методы класса Strongloop (loopback)

Мне трудно понять, как ведут себя модели Strongloop. Существует много документации о статических и удаленных методах, но как насчет общих методов класса?

Допустим, у меня есть пользовательская модель, у которой есть метод для отображения полного имени:

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 возвращает объект JSON, содержащий все свойства вместо фактической модели. Так как определить и использовать методы модели в Strongloop?

1 ответ

Решение

Вам нужно использовать свойство "prototype" javascript, если вы планируете использовать name() функция на примере модели "Пользователь". Следующее:

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

и ты в порядке.

Другие вопросы по тегам