循环绑定对象
Loop bind objects
我已经阅读了这个答案,但仍然对使代码工作感到头疼。
我的需求略有不同。我必须绑定每个对象,而不是警报。我的代码是:
for (var i = 0; i < markers_length; i++) {
events_number = data.markers[i].events_number //data.markers is a multidimentional array
marker = L.marker([ data.markers[i].latitude , data.markers[i].longitude ]); //just create the new object
marker.on('mouseover', function(){
return function(){
this.bindPopup(" Found"+events_number+" event(s)").openPopup();
}
}(i) );
}
如果你问,我正在使用传单。对于单个对象,bindPopup 的工作方式如下:
marker.on('mouseover', this.bindPopup('hi').openPopup());
麻烦的是上面的代码给出了所有对象的最后一个对象。我假设this
和功能级别存在问题。那么如何用单独的文本绑定每个标记呢?
它
应该是:
marker.on('mouseover', function(en){
return function(){
this.bindPopup(" Found"+en+" event(s)").openPopup();
}
}(events_number) );
您必须传递要保存在闭包中的值(在本例中为events_number
),并且该函数必须接受一个参数来接收该值并在闭包中使用它(在我的代码中en
)。
相关文章:
- 值未与数组对象绑定
- Angular:将函数从子对象绑定到父对象
- 将 .on 事件与对象绑定
- 挖空选项对象绑定
- 对象绑定模式的rest属性应该是最后一个
- Knockout.js用单个json对象绑定一个可观察对象
- angular.js将jquery自动完成对象绑定到ng模型,将值输入到对象的属性
- Knockout:为许多数据对象绑定模板引导模式
- JavaScript 对象绑定
- 使用javascript将JSON对象绑定到asp.net gridview控件
- 如何将复杂对象绑定到剑道调度程序中的字段
- D3:如何有条件地将 SVG 对象绑定到数据
- Ko_selectize数组对象绑定未定义
- 在选择框中从任意 JavaScript 对象绑定选项值和选项文本
- 使用 jQuery 将对象绑定到一行
- 如何将当前对象绑定到文本输入
- AngularJS将javascript对象绑定到指令属性
- 子属性更改时重新评估对象绑定
- 将Angular Service对象绑定到控制器作用域并更新
- 将模型对象绑定到JavaScript数组时出现语法错误