Se davvero si vuole ignorare il costruttore, passare una proprietà constructor
-Backbone.Model.extend()
, ad esempio:
var Klass = Backbone.Model.extend({
constructor : function (attributes, options) {
// ...
}
});
Se si desidera chiamare il costruttore built-in dal tuo costruttore personalizzato, puoi fare qualcosa del tipo:
var Klass = Backbone.Model.extend({
constructor : function (attributes, options) {
Backbone.Model.apply(this, arguments);
}
});
Oppure se non si desidera ripetere il nome del va riable contenente la classe padre tutta la classe secondaria, o non si vuole preoccupare del valore di quella variabile che cambia, si può fare qualcosa di simile al seguente:
var Klass;
var parent_klass = Backbone.Model.prototype;
(function (parent_klass) {
Klass = parent_klass.constructor.extend({
constructor : function (attributes, options) {
parent_klass.constructor.apply(this, arguments);
}
});
})(parent_klass);
O se si preferisce la strada @Claude suggests, ma ripetendo il nome della variabile secondaria di classe all'interno della classe sub al posto del nome della classe genitore var:
var Klass = Backbone.Model.extend(
{
constructor : function (attributes, options) {
Klass.parent_klass.constructor.apply(this, arguments);
}
},
{
parent_klass : Backbone.Model.prototype
}
);
Se volete ulteriori consigli di questo, dovrete essere più specifico su ciò che si vuole realizzare.
Tutto ciò che si desidera eseguire dopo la funzionalità del costruttore incorporato, è consigliabile farlo in initialize()
.
È possibile trasformare il JSON del server secondo necessità utilizzando 'parse' (http://documentcloud.github.com/backbone/#Model-parse). Forse dovresti chiarire cosa stai cercando di fare, un esempio potrebbe aiutarti. –