我使用backbonejs和方法里面,我有:
$.each(response.error, function(index, item) {
this.$el.find('.error').show();
});
然而,因为它是在$.each
, this.$el
是不确定的。
我有_.bindAll(this, 'methodName')
这将在外工作的每一个。 所以,现在我需要中的绑定呢?
任何帮助woudl是伟大的! 谢谢
我使用backbonejs和方法里面,我有:
$.each(response.error, function(index, item) {
this.$el.find('.error').show();
});
然而,因为它是在$.each
, this.$el
是不确定的。
我有_.bindAll(this, 'methodName')
这将在外工作的每一个。 所以,现在我需要中的绑定呢?
任何帮助woudl是伟大的! 谢谢
您使用的骨干,所以你有下划线,这意味着你有_.each
:
每个
_.each(list, iterator, [context])
迭代元素的列表 ,得到每个依次迭代器功能。 迭代器被绑定到上下文对象,如果一个被传递。
所以,你可以这样做:
_.each(response.error, function(item, index) {
this.$el.find('.error').show();
}, this);
或者你可以使用_.bind
:
$.each(response.error, _.bind(function(index, item) {
this.$el.find('.error').show();
}, this));
或者,因为你一遍又一遍,预先计算发现同样的事情,并停止关心this
:
var $error = this.$el.find('.error');
$.each(response.error, function(index, item) {
$error.show();
});
下面是两个下划线方法的快速演示: http://jsfiddle.net/ambiguous/dNgEa/
设置循环前的局部变量:
var self = this;
$.each(response.error, function(index, item) {
self.$el.find('.error').show();
});