11 votes

Comment définir des méthodes d'instance pour les modèles avec sails.js

Comment puis-je définir des fonctions/méthodes d'instance pour les objets dans Sails ?

Dans le document Waterline ( https://github.com/balderdashy/waterline ), ils disent :

var User = Waterline.Collection.extend({
...
  attributes: {
    ...
    // You can also define instance methods here
    fullName: function() {
      return this.firstName + ' ' + this.lastName
    }
  },
}

Mais lorsque j'essaie de définir une méthode d'instance en attributs dans un modèle dans Sails, la fonction n'est pas ajoutée à l'objet. Est-ce que je fais quelque chose de mal ?

L'environnement : Sails (v0.8.94), Node (v0.8.16)

14voto

Adrien Points 705

Vous pouvez définir des méthodes d'instance dans les modèles avec sails 0.9.0 de la manière suivante :

module.exports = {
  attributes: {     
    name: {
      type: 'STRING',
      defaultsTo: 'zooname'
    },
    instanceMethod: function(){
      // your code
    }
  }
};

Exemple d'utilisation :

ClientHit.findOne({}).exec(function(err, model){
  model.instanceMethod(); //use your instance method
});

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X