Backbone.js - passage d'arguments par les constructeurs
Scénario:
J'ai eu un alert()
disant undefined
quand j'ai (essayer de) définir la myVar
variable par le Constructeur. Cependant, si je décommentez la myVar
qui est vivant à l'intérieur de la mavue, l'alerte puis au lieu dit "Bonjour de l'intérieur", comme on pourrait s'y attendre.
Question:
Est-ce à dire que je ne peut pas définir les paramètres dans le constructeur de la vue à l'exception des dorsales propres paramètres, tels que model
, collection
, el
, id
, className
& tagName
?
Manuel: http://documentcloud.github.com/backbone/#View-constructor
Le code:
var myView = Backbone.View.extend({
//myVar : 'Hello from inside',
initialize: function() {
alert(this.myVar);
}
)};
new myView({myVar: 'Hello from outside'});
Vous devez vous connecter pour publier un commentaire.
Options passées dans le constructeur sont automatiquement stockés en tant que
this.options
this.myVar
etthis.options.myVar
. Si vous essayez de remplacerthis.myVar
avec les options passées vous pouvezthis.myVar=this.options.myVar
dans votre fonction d'initialisation.myVar
sur un objet options:options: { myVar : 'Hello from inside' },
. Les options seront automatiquement fusionnées et seront disponibles surthis.options
Comme l'épine dorsale de la version 1.1.0, le
options
argument est plus attaché automatiquement à l'affichage (voir question 2458 pour la discussion). Maintenant, vous avez besoin pour fixer les options de chaque mode manuel:Alternativement, vous pouvez utiliser ce mini plugin à l'auto-joindre une liste blanche des options, comme suit: