Методы класса 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;
}
и ты в порядке.