Bootstrap 3 +骨干js - 切换nav不打开V2

时间:2013-12-19 08:03:59

标签: twitter-bootstrap backbone.js

回到我关于我的问题的旧问题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

提前多多感谢。

1 个答案:

答案 0 :(得分:0)

如果这种切换导航是Bootstrap中的本机功能,我认为没有必要在Backbone中管理它。

总有一些全球化的东西,一般的东西。更好的方法仍然是使用普通的旧jQuery来管理它们,不需要特定于每个Backbone视图。

我的建议是,如果那是Bootstrap的功能,请将它留在Backbone中,让事件宣传,让Bootstrap来管理它。