根据documentation自定义属性可以在模型上定义方法,然后用于通过Waterline,Sails JS的ORM查询返回的对象。
这对我不起作用。我从查询中获取了正确的数据,但我在模型上声明的函数都没有工作。试图调用它们导致TypeError:Object [object Object]没有方法'methodName'
(用更清楚的例子更新)
这是我的模型,带有自定义属性方法
module.exports = {
attributes: {
firstName : {
type: 'string'
},
lastName : {
type: 'string'
}
},
// Custom Attribute Method
fullName : function(){
return this.firstName + " " + this.lastName
}
};
这是我在控制器中使用它的地方
module.exports = {
findMe: function(req, res){
User.findOne({firstName:'Todd'}).exec(function(err, user){
console.log(user.fullName()); //<--TypeError: Object [object Object] has no method 'fullName'
res.send(user);
})
}
};
我错过了什么?
答案 0 :(得分:4)
全名应包含在其余属性
中module.exports = {
attributes: {
firstName : {
type: 'string'
},
lastName : {
type: 'string'
},
fullName : function(){
return this.firstName + " " + this.lastName
}
}
}