这是我的Users.model:
module.exports = {
attributes: {
name: {
type: 'string',
required: true,
minLength: 3,
maxLength: 30
},
username: {
type: 'string',
required: true,
},
toJSON: function() {
var obj = this.toObject();
obj.link = sails.config.globals.baseUrl + sails.config.routes.user + obj.id;
return obj;
}
}
};
我想要的是使用一些属于' pre'在模型上计算。 我的解决方案是在toJSON()函数中注入attr,但在我必须使用的视图中:
<%= users.toJSON().link %>
有哪种方法可以为用户创建属性或某些方法?像:
module.exports = {
attributes: {
name: {
type: 'string',
required: true,
minLength: 3,
maxLength: 30
},
myPersonalAttribute: function(){
return "Value"
}
}
答案 0 :(得分:2)
您可以使用属性方法返回派生值。请在此处查看我对您的github问题的回复:https://github.com/balderdashy/waterline/issues/626#issuecomment-54192398
答案 1 :(得分:0)
module.exports = {
attributes: {
name: {
type: 'string',
required: true,
minLength: 3,
maxLength: 30
},
myPersonalAttribute: function() {
return "Value"
},
toJSON: function() {
var obj = this.toObject()
obj.myPersonalAttribute = this.myPersonalAttribute()
return obj
}
}
}