0

私の見解では、ページからモデルと要素の両方を削除するためのclearというクリックイベントがあります..これを私の見解で使用するには、次のような関数があります:

define(["backbone","../router/router"], function(Backbone,router){

    "use strict"

    var appView = Backbone.View.extend({
        tagName:"li",
        template:_.template($("#listTemp").html()),
        events:{
            "click" : "clear"
        },
        initialize:function(){
            this.render();
        },
        render:function(){
            this.$el.html(this.template(this.model.toJSON()));
            return this;
        },
        listTrigger:function(){
            var studentName = this.model.get("name");
            router.navigate("#/list/" + studentName);

        },
        clear:function(){
            this.model.clear(); // i am triggering models clear method here..
        }
    });

    return  appView;

})

私のモデルでは、メソッドがあり、モデルと要素をクリアしています..

define(["jquery","underscore","backbone"], function($,_,Backbone){

    "use strict"

    var appModel = Backbone.Model.extend({
        initialize:function(){
            console.log(this.view);
        },
        clear:function(){
            this.destroy(); //it works..
            this.view.remove(); // but it throw the error;
        }
    });

    return appModel;

});

私が得ているエラーは次のとおりです。

Uncaught TypeError: Cannot call method 'remove' of undefined model.js:11
Backbone.Model.extend.clear model.js:11
Backbone.View.extend.clear appView.js:24
b.event.dispatch jquery.min.js:3
v.handle

なぜこの「未定義」 - 私はここに来ています..それを解決する方法..誰かが私を助けることができます..?

4

1 に答える 1

0

appView でビューを開始しました -

    initialize:function(){
                this.render();
                this.model.view = this;
            },
    remove:function(){
            $(this.el).remove(); //removing element
        },

正常に動作します。全てに感謝。

于 2013-05-17T09:57:34.900 に答える