我有我的骨干路由器:
var AppRouter = Backbone.Router.extend({
routes:{
"" : "productos",
},
initialize: function(){
this.productoItem = new Producto();
//Crear la vista del detalle de un producto
this.productoItems = new Productos();
this.productoItems.fetch();
this.productosView = new ProductsView({collection: this.productoItems});
},
productos: function(){
$('#app').html(this.productosView.render().el);
//this line seems not to working but putting in a console does the work
}
});
/*********************************/
var app = new AppRouter();
$(function(){
Backbone.history.start();
});
观点如下:
var ProductsView = Backbone.View.extend({
render: function(){
this.$el.html(Handlebars.templates.products(this.collection));
return this;
}
});
最后是我的车把模板:
<h1>Y LOS MODELOS SON</h1>
<ul>
{{#each models}}
<li>
{{attributes.familia}}
</li>
{{/each}}
</ul>
所以当我运行这个应用程序时,它只会呈现 Y LOS MODELOS SON,这意味着
$('#app').html(this.productosView.render().el)
;工作但不完全只有html标签......但是当我这样做时:
$('#app').html(app.productosView.render().el)
在控制台中它完美地工作......有人可以解释一下我错过了什么吗?谢谢...