簡體   English   中英

骨干定制事件回調參數

[英]Backbone custom event callback arguments

我試圖使用trigger()函數將自定義事件中名為newIndex的參數從一個視圖傳遞到另一個視圖。 這是第一個視圖的節選:

var ProductListView = Backbone.View.extend({

    el: '#products',

    events:{
            sortupdate: function(event, ui){
                    ui.item.trigger('moved', ui.item.index());
            }
    }
});

觸發“移動”事件的元素是另一個視圖。 這是該觀點的摘錄:

var ProductItemView = Backbone.View.extend({

    events: {
            moved: 'viewMoved'
    },

    initialize: function(){
            _.bindAll(this, 'render', 'viewMoved');
    },

    viewMoved: function(newIndex){
            anotherFunc(this.model, newIndex);
    },

});

我遇到的問題是,在anotherFunc()調用中,newIndex參數似乎是事件本身,而不是觸發事件時傳遞的值。 如果我將viewMoved回調調整為以下值,它將正常工作:

viewMoved: function(event, newIndex){
    anotherFunc(this.model, newIndex);
},

這是預期的功能嗎? 事件本身是否始終是傳遞給自定義事件的回調的第一個參數,還是這里發生了其他事情? 是否打算在某處記錄此內容? 我在主干文檔中找不到對此的任何引用。

Backbone在ui.item大量使用jQuery,而您的ui.item實際上是jQuery對象。 請參閱有關觸發功能的文檔。

總之,由於ui.item不是主干視圖,因此您正在使用jQuery的trigger 總是在event對象之后傳遞額外的參數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM