2 つの配列からの ID を使用したリンクの作成に問題があります ...
テーブルのこのビュー (テンプレート)....li イベントをクリックした後は機能しません...助けてください。
<script type="text/template" id="table-template">
<% _.each(tables, function(table) { %>
<% _.each(table.get("tables"), function(table) { %>
<li class="tableli" data-table_id="<%= table.id %>">
<div class="obrazok"></div>
<%= table.name %>
</li>
<% }); %>
<% }); %>
</script>
メニューテンプレートがあります:
<script type="text/template" id="menu-template">
<% _.each(menus, function(menu) { %>
<% _.each(menu.get("menus"), function(menu) { %>
<li class="menucls" data-menu_id="<%= menu.id %>">
<%= menu.name %>
</li>
<% }); %>
<% }); %>
</script>
私のコレクション...
//====
//! Tables
//====
var Tables = Backbone.Collection.extend({
url: 'api/menus_and_tables.json'
});
//====
//! Menus
//====
var Menus = Backbone.Collection.extend({
url: 'api/menus_and_tables.json'
});
私のjson:
{
"id" : 1,
"tables" : [{
"name": "Table 1",
"id": 1
}],
"menus" : [{
"name": "Main Menu",
"id": 1
}]
}
私の最初のテーブル ビュー:
var TablesView = Backbone.View.extend({
events: {
"click li.tableli" : "openMenuItem"
},
openMenuItem: function(e){
currentLink = $(e.currentTarget);
tableId = currentLink.data('table_id');
app.navigate("table/" + tableId + "/menus");
console.log("table/" + tableId + "/menus");
},
initialize:function () {
this.render();
},
render:function () {
var that = this;
var tables = new Tables();
tables.fetch({
success: function (tables) {
var template = _.template($('#table-template').html(), {tables: tables.models});
that.$el.html(template);
}
})
}
});
私の2番目のメニュービュー:
var MenusView = Backbone.View.extend({
events: {
"click li.menucls" : "openMenuItem"
},
openMenuItem: function(e){
currentLink = $(e.currentTarget);
menuId = currentLink.data('menu_id');
console.log("menuId: " + menuId );
},
initialize:function () {
this.render();
},
render:function () {
var that = this;
var menus = new Menus();
menus.fetch({
success: function (menus) {
var template = _.template($('#menu-template').html(), {menus: menus.models});
that.$el.html(template);
}
})
}
});
すべてがコンテンツ div にレンダリングされます:
<header class="header"></header>
<div class="container">
<div class="row-fluid">
<div id="content" class="span12>">
<!- There is rendered content ->
</div>
</div>
</div>
<footer class="footer"></footer>