1

#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別のコンテンツ」に置き換わります。問題は次のとおりです。 after#addHomeをクリックすると、「別のコンテンツ」がプラグイン コンテンツに置き換えられますが、このコンテンツは追加のコンテンツを示しているため正しくありません。私は、ゴミの内容だと思います。どのように解決しますか?

ありがとう。

4

0 に答える 0