I am trying to write a Backbone view for an object browser which is designed to be implemented in several places with different object types and slightly different operation
It's hard to see what exactly your goal is.
but this is how i see it if you have an view object
var myView = Backbone.View.extend({
foo: "bar"
});
and you have it extend the backbone.View... then you actually have a new view object with everything of backbone.view, and the extra options you give as parameters.
if you then go and create a second view, that extends your first one it will get everything from your first view, + it's own extras
var mySecondView = myView.extend({
foobar: "f00b@r"
});
if you would create an instance of the second view and log it's foo
property it will still hold "bar"
as value
var mySecondViewInstance = new mySecondView();
console.log("mySecondViewInstance.foo: ", mySecondViewInstance.foo);
console.log("mySecondViewInstance.foobar: ", mySecondViewInstance.foobar);
if i create a new instance of my first view, and change foo
into "changed-foo"
the log of foo
on mySecondViewInstance
will still be "bar"
var myViewInstance = new myView();
myViewInstance.foo = "changed-foo";
console.log("mySecondViewInstance.foo: ", mySecondViewInstance.foo);
console.log("mySecondViewInstance.foobar: ", mySecondViewInstance.foobar);
a JS-Fiddle to play around with it can be found here: http://jsfiddle.net/saelfaer/uNBSW/