强循环(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中定义和使用模型方法呢?
如果您打算在“User”模型的实例上使用name()
函数,则需要使用javascript的“prototype”属性。 如下:
User.prototype.name = function () { return this.firstname + ' ' + this.lastname; }
你很好走。