Làm thế nào tôi có thể nhận được dealViewItem
vào phạm vi của vòng lặp FOR? Hiện tại, dealViewItem được đặt bên ngoài nó, và tất cả các trình nghe sự kiện của tôi được thêm vào dealViewItem cuối cùng.Bắt Coffeescript để tạo ra một biến địa phương trong một vòng lặp FOR
for deal in dealArray
dealViewItem = dealViewFactory.DealDetail(deal)
dealViewItem.addEventListener 'click', ->
dealCart.push(deal.dealId)
dealViewItem.setAddedToCart()
btnTakeDeals.setEnabled = true
dealHolder.add(dealViewItem)
đọc http://dailyjs.com/2012/07/23/js101-scope/ mô tả phạm vi javascript, coffeescript kế thừa, sau đó bạn có thể xem điều gì làm và tại sao nó ở đó như được hiển thị trong Alexs trả lời –
err, chỉ để được rõ ràng, javascript không có phạm vi khối, chỉ toàn cầu và chức năng phạm vi –
liên kết dailyjs bị hỏng. Một số liên kết khác - http://www.adequatelygood.com/JavaScript-Scoping-and-Hoisting.html và http://zef.me/blog/2843/javascript-the-scope-pitfall –