![](/img/trans.png)
[英]Backbone.js and underscore.js binding this to this.collection.add
[英]Binding a callback in Backbone.js and Underscore.js
我有以下代碼:
initialize: function() {
_.bindAll(this);
var callBack = function(res) {
window.item = new Item(res);
this.render();
};
_.bind(callBack, this);
$.get('/item/parse', {
uri: decodeURIComponent($.urlParam('uri')),
title: decodeURIComponent($.urlParam('title'))
},
callBack
);
},
目的是在$ .get函數完成后調用render()。 但是,即使將回調函數與_.bind綁定后,我仍然在控制台中得到“對象沒有函數渲染”。 我在這里使用綁定不正確嗎?
_.bind
返回一個新函數,所以:
callBack = _.bind(callBack, this);
您也可以使用_.bindAll
,但必須在定義函數后調用它。 否則,在您調用_.bindAll
時沒有任何功能。 請注意,在這種情況下,您必須使用this.callBack = ...
,否則this
將不包含任何函數。
同時使用_.bind
和_.bindAll
是多余的。
我通常在我的模型上寫一個'load'方法,我把它作為參數回調。 然后我從視圖中的render()方法調用此方法,並在回調函數中執行我需要做的任何事情(當然,在加載數據后在模型中觸發該回調)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.