如何在Sails中为对象定义函数/实例方法?
在Waterline doc(https://github.com/balderdashy/waterline)中,他们说:
var User = Waterline.Collection.extend({
...
attributes: {
...
// You can also define instance methods here
fullName: function() {
return this.firstName + ' ' + this.lastName
}
},
}
但是当我尝试在Sails中的模型中的 attributes 中定义实例方法时,该函数不会添加到对象中。 我做错了吗?
环境: Sails(v0.8.94),Node(v0.8.16)
答案 0 :(得分:14)
您可以在风帆版本为0.9.0的模型中定义实例方法,如下所示:
module.exports = {
attributes: {
name: {
type: 'STRING',
defaultsTo: 'zooname'
},
instanceMethod: function(){
// your code
}
}
};
用法示例:
ClientHit.findOne({}).exec(function(err, model){
model.instanceMethod(); //use your instance method
});