Si realmente desea anular el constructor, pase una propiedad constructor
a Backbone.Model.extend()
, por ejemplo:
var Klass = Backbone.Model.extend({
constructor : function (attributes, options) {
// ...
}
});
Si desea llamar al constructor incorporada desde su constructor personalizado, puede hacer algo como:
var Klass = Backbone.Model.extend({
constructor : function (attributes, options) {
Backbone.Model.apply(this, arguments);
}
});
O si no desea tener que repetir el nombre del va riable que contiene la clase padre todo el subclase, o que no quieren preocuparse por el valor de esa variable cambiante, que puede hacer algo como lo siguiente:
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 si lo prefiere la forma @Claude suggests, pero repitiendo el nombre de la variable sub clase dentro de la subclase en lugar del nombre de la clase padre var:
var Klass = Backbone.Model.extend(
{
constructor : function (attributes, options) {
Klass.parent_klass.constructor.apply(this, arguments);
}
},
{
parent_klass : Backbone.Model.prototype
}
);
Si quieres más consejos que eso, tendrá que ser más específico acerca de lo que quiere lograr.
Cualquier cosa que lo que desea hacer después de la funcionalidad del constructor incorporada, probablemente debería hacer en initialize()
.
Puede transformar el JSON del servidor según sea necesario usando 'parse' (http://documentcloud.github.com/backbone/#Model-parse). Quizás debas aclarar lo que tratas de hacer, un ejemplo podría ser útil. –