1

「filterMessages は関数ではありません」というエラーが表示され続けます。これがバックボーン ビュー クラスです。関数が見つからない理由がわかりません。

Firebug filterMessages is not defined Line 152 (filterMessages("all").each(function(message) {

MessageListView = Backbone.View.extend({

    defaults : {
        filterString : "all"
    },

    initialize : function() {

        this.collection.on("add", function(model) {
            var view = new MessageView({model: model});
            $("div.cameras").prepend(view.render().el);
        });

        this.collection.on("remove", function(model) {
            var ID = model.id;
            $("#message-" + ID).parent("div.message").remove();
        });

        this.collection.on("reset", function(models) {
            $("div.cameras").empty();
            filterMessages("all").each(function(message) {
                var view = new MessageView({model: message});
                $("div.cameras").prepend(view.render().el);
            });

        });

    },

    setFilter : function(filterString) {
        this.filterString = filterString;
        this.collection.reset(this.collection);
    },

    filterMessages : function(filterString) {
        return this.collection.filter(function(model){

            if (filterString == "all")
            {
                return true;
            }
            else if (filterString == "active")
            {
                return model.get("ignore") == "0";
            }
            else if (filterString == "ignore")
            {
                return model.get("ignore") == "1";
            }
            else if (filterString == "flag")
            {
                return model.get("flag") == true;
            }

        });
    }

});
4

2 に答える 2