gpt4 book ai didi

javascript - Backbone.js 将其绑定(bind)到 $.each

转载 作者:行者123 更新时间:2023-11-30 07:01:03 25 4
gpt4 key购买 nike

我正在使用 backbonejs 并在我拥有的方法中:

$.each(response.error, function(index, item) {
this.$el.find('.error').show();
});

但是,因为它在 $.each 中,所以 this.$el 是未定义的。

我有 _.bindAll(this, 'methodName') 可以在 each 之外工作。那么,现在我需要将它绑定(bind)在里面吗?

任何帮助都会很棒!谢谢

最佳答案

你正在使用 Backbone,所以你有 Underscore,这意味着你有 _.each :

each _.each(list, iterator, [context])

Iterates over a list of elements, yielding each in turn to an iterator function. The iterator is bound to the context object, if one is passed.

所以你可以这样做:

_.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();
});

这是两种 Underscore 方法的快速演示:http://jsfiddle.net/ambiguous/dNgEa/

关于javascript - Backbone.js 将其绑定(bind)到 $.each,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10354100/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com