Primero deberías saber que si creas una subvista dentro de una vista principal, la subvista no existe todavía en el DOM, ya que no has renderizado la vista principal, entonces sabiendo esto necesitaríamos renderizar la vista principal antes de crear una subvista, sería algo como lo siguiente:
var SubVista = Backbone.View.extend({
events: {
'click .subvista-item a': 'prueba' }, el: '#subvista', test: function() { console.log('imprimiendo...'); }, initialize: function() { this.template = _.template('<div class="subvista-item"><a href="#">Subvista-Elemento</a></div>'); }, render: function() { this.$el.html(this.template); return this; } });
var VistaPrinc = Backbone.View.extend({
el: $('#contenido'), initialize: function() { this.template = _.template('<h1>Hello</h1><div id="subview"></div>');
},
render: function() { this.$el.html(this.template); return this; } });
var vistaPrinc = new VistaPrinc();
VistaPrinc.render();
var subVista= new SubVista (); SubVista .render();