我有两个视图......我需要将数据从一个视图放到下一个视图,但我不知道如何实现这一点。
有第一个功能视图:
var CategoriesView = Backbone.View.extend({
initialize:function () {
this.render();
},
render:function () {
var that = this;
var categories = new Categories();
categories.fetch({
success: function (categories) {
var template = _.template($('#categories-template').html(), {categories: categories.models});
that.$el.html(template);
}
})
}
});
有模板:
<script type="text/template" id="categories-template">
<% _.each(categories, function(category) { %>
<li><%= category.get('name') %></li>
<% }); %>
</script>
型号和收藏:
var Category = Backbone.Model.extend({
defaults: {
name: 'Category',
id: []
},
});
var Categories = Backbone.Collection.extend({
url: 'api/categories.json'
});
我拥有的 json 对象(所有类别)中的所有名称:
<li>there</li>
...对于我需要实施产品的每个类别 .... 我有产品清单:
var ProductsView = Backbone.View.extend({
initialize:function () {
this.render();
},
render:function () {
var that = this;
var products = new Products();
products.fetch({
success: function (menus) {
var template = _.template($('#products-template').html(), {products: products.models});
that.$el.html(template);
}
})
}
});
模板 :
<script type="text/template" id="products-template">
<% _.each(products, function(product) { %>
<li class="productscls"><%= product.get('name') %></li>
<% }); %>
</script>
型号和coollection:
var Product = Backbone.Model.extend({
defaults: {
name: 'Product',
category: 1,
id: []
},
});
var Products = Backbone.Collection.extend({
url: 'api/products.json'
});
所有这些我的东西都显示正确,但是当我尝试在那里做类似的事情时:
<script type="text/template" id="categories-template">
<% _.each(categories, function(category) { %>
<li class="categorycls"><%= category.get('name') %></li>
<% _.each(products, function(product) { %>
<li class="productscls"><%= product.get('name') %></li>
<% }); %>
<% }); %>
</script>
所以你可以看到我想做什么。对于每个类别的每个产品,但如果不将数据传递到类别或产品视图中,这将不起作用......
问候 Makromat