回到我关于我的问题的旧问题Bootstrap 3 + backbonejs - Toogle nav not opening,现在我遇到了当我将侧边栏视图代码插入主视图时toogle导航无法打开的问题
我的家.js
define(['jquery', 'underscore', 'backbone','views/sidebar/SidebarView', 'text!templates/home/homeTemplate.html'], function($, _, Backbone,SidebarView, homeTemplate) {
var HomeView = Backbone.View.extend({
el: $("#page"),
initialize: function() {
this.$el.off();
},
events: {
'click [data-toggle=offcanvas]': 'toggleClass'
},
toggleClass: function(e) {
console.log("fire");
this.$('.row-offcanvas').toggleClass('active');
},
render: function() {
this.$el.html(homeTemplate);
var sidebarView = new SidebarView();
sidebarView.render();
},
});
return HomeView;
});
https://github.com/datomnurdin/izify-template/blob/master/js/views/home/HomeView.js
我的sidebar.js
define(['jquery', 'underscore', 'backbone', 'text!templates/sidebar/sidebarTemplate.html'], function($, _, Backbone, sidebarTemplate) {
var SidebarView = Backbone.View.extend({
el: $("#sidebar"),
initialize: function() {
this.$el.off();
},
events: {
'click [data-toggle=offcanvas]': 'toggleClass'
},
toggleClass: function(e) {
console.log("fire");
this.$('.row-offcanvas').toggleClass('active');
},
render: function() {
$("#sidebar").append(sidebarTemplate);
}
});
return SidebarView;
});
https://github.com/datomnurdin/izify-template/blob/master/js/views/sidebar/SidebarView.js
我的回购:https://github.com/datomnurdin/izify-template/blob/master/js/views/sidebar/SidebarView.js
提前多多感谢。
答案 0 :(得分:0)
如果这种切换导航是Bootstrap中的本机功能,我认为没有必要在Backbone中管理它。
总有一些全球化的东西,一般的东西。更好的方法仍然是使用普通的旧jQuery来管理它们,不需要特定于每个Backbone视图。
我的建议是,如果那是Bootstrap的功能,请将它留在Backbone中,让事件宣传,让Bootstrap来管理它。