使用Backbone.js删除内部插件的视图

时间:2013-01-13 15:20:42

标签: javascript jquery backbone.js

我有一个代码可以查看在点击#addHome时启动插件的模型。该插件修改了一个标签:

<select id="sel">
    <option value="1">ON</option>
    <option value="0">OFF</option>
</select>

Backbone.js代码:

var Contents = Backbone.View.extend({       
    events: {
            "click #addHome": "addContent1", "click #addContact": "addContent2"
    },
    initialize: function() {
        _.bindAll(this); 
        this.model = new ContentCollection();
        this.model.on("add", this.contentAdded);
    },                  
    addContent1: function(event) {
        this.model.add({ modelName: "home"});
        //Plugin:
        $('select').switchify().data('switch').bind('switch:slide', function(e,type){       
            //Do something
        });     
    }, 
    addContent2: function(event) {
        //another content
    },    
    contentAdded: function(content) {
        if (content.view == null) {
            var template_name;              
            switch(content.get("modelName")){   
                case 'home': template_name = 'home'; break;  
                case 'contact': template_name = 'contact'; break; 
            }                                       
            content.view = new ContentView({
                              model: content, template: //template
                     });
            $(".box").empty();    
            //render template                                               
            }       
        },              
}); 

点击#addContact后,.box将替换为“其他内容”。问题是下一个:如果点击#addHome后,“另一个内容”将替换为插件内容,但此内容不正确,因为它显示了其他内容。我认为,垃圾内容。 如何解决?

感谢。

0 个答案:

没有答案