У меня есть следующие js.coffee/CoffeeScript, где я хочу, чтобы получить данные о рынке, как вывод:CoffeeScript углублений с петлей
window.MarketsUI = flight.component ->
@defaultAttrs
table: 'tbody'
filter: '.dropdown-menu a'
@refresh = (data) ->
$table = @select('table')
$table.prepend(JST['market'](market)) for market in data.markets
console.log data.markets
@filter = (event) ->
type = event.target.className
return @list.filter() if type == ''
@list.filter (item) ->
item.values().type == "#{gon.i18n[type]}"
@initList = ->
options =
valueNames: [ 'market', 'currency', 'vol', 'change',
'last', 'high', 'low']
@list = new List('marketsX', options)
@after 'initialize', ->
markets = []
$.getJSON "/api/v2/tickers", (data) ->
#markets = []
for cur of data
ticker = data[cur].ticker
item = {}
[
"change"
"last"
"high"
"low"
].forEach (key) ->
item[key] = ticker[key]
return
item.volume = ticker.vol
item.market = cur
item.currency = cur.substring(3)
markets.push item
console.log markets
markets.sort (a, b)->
a.volume - b.volume
@refresh {markets: markets}
@initList()
@on @select('filter'), 'click', @filter
моя проблема заключается в том, что объект рынки пуст, когда я утешаю зарегистрировать ее в Функция @refresh. Я получаю только []. Я знаю, что это имеет какое-то отношение к углублениям coffeescript с момента его работы в чистом JS. Он также работает, когда я делаю жесткие данные о рынках.
Можете ли вы предоставить небольшой автономный пример? Там много кода, который не имеет ничего общего с этой проблемой. –