Comment puis-je ajouter une méthode personnalisée à l'épine dorsale de modèle?
J'ai essayé:
initialize: function() {
if (this.get("id") == "modelOfInterest") {
var func = function() {
//do some stuff with the model
}
_.bind(func, this)
}
}
et
initialize: function() {
if (this.get("id") == "modelOfInterest") {
var func = function() {
//do some stuff with the model
}
this.on("func", func, this);
}
}
Cependant, dans les deux cas:
myModelInstance.func(); //object has no method func
Je préfère ne pas utiliser _.bindAll()
.
J'ai édité le code ci-dessus pour montrer que je suis en train de lier func pour un seul modèle. Le modèle est d'initialiser lorsqu'il est ajouté à une collection : tous les modèles de feu initialiser en même temps et j'ai juste envie de se lier func pour l'un d'entre eux.
OriginalL'auteur | 2013-08-20
Vous devez vous connecter pour publier un commentaire.
Aucune raison de ne pas l'évidence?
J'ai édité ma question d'origine pour rendre cela plus clair.
Les travaux de cette. Je pense que cela signifie que mon func est attaché à tous les modèles de la collection, mais il n'a pas d'importance tant que je n'ai pas lier tout événement.
OriginalL'auteur Stephen Thomas
Attribuer
func
comme une propriété de votre modèle dans votreif
bloc.Même cela n'a pas fonctionner mais il m'ont mis sur la bonne voie. Je définir la fonction dans le modèle à l'extérieur de l'initialisation de sorte qu'il n'appartient pas au Modèle. Alors la ce.("func" ... que la ligne fonctionne. Je ne sais pas pourquoi.func à l'intérieur de l'initialisation n'est pas attacher la fonction du modèle.
OriginalL'auteur fbynite
Méthodes statiques doivent être déclarés sur un dictionnaire second dans la .étendre appel:
http://danielarandaochoa.com/backboneexamples/blog/2013/11/13/declaring-static-methods-with-backbone-js/
OriginalL'auteur Felipe Baytelman
Essayez ceci:
Et ce:
OriginalL'auteur joni jones