是否有明确的方法为第4行的加载事件编写此闭包:
for i,item of m
# add item once image loaded
new_item = $("<img src='#{util.image_url(item, 'large')}' />")
new_item.on 'load', ((item) => (=> @add_item(item)))(item)
$("#preload-area").append(new_item)
答案 0 :(得分:2)
您需要do
loop:
当使用JavaScript循环生成函数时,通常会插入一个闭包装,以确保循环变量被关闭,并且所有生成的函数不只是共享最终值。 CoffeeScript提供
do
关键字,它立即调用传递的函数,转发任何参数。
这样的事情:
for i, item of m
do (item) =>
new_item = $("<img src='#{util.image_url(item, 'large')}' />")
new_item.on 'load', => @add_item(item)
$("#preload-area").append(new_item)