2012-02-26 2 views
1

Я пытаюсь загрузить список заказанных товаров с сервера, а затем сделать их, используя свой шаблон (и http://sammyjs.org/docs/tutorials/json_store_1 для руководства):Rendering списка элементов нарушает регламент

questions_container = $('.questions_container').first() 

@sammy = Sammy '#foo', -> 
    @use 'Template' 

    @get '#/', (context) -> 
    context.log 'Loading questions...' 
    @load('questions.json') 
     .then (items) -> 
     $.each items, (i, item) -> 
      context.log item.id 
      context.render('assets/question.template', {item: item}) 
      .appendTo(questions_container) 

Я наблюдаю интересный эффект, в консоли firebug все элементы регистрируются в порядке, возвращаемом сервером (упорядочивается по id), однако в DOM они, как правило, перепутаны.

Это происходит из-за параллельной логики render()? Как я могу убедиться, что порядок элементов сохранен в DOM? Благодаря!

ответ

0

Б renderEach Аарон Квинт (автор Сэмми) предложил на Google group:

questions_container = $('.questions_container').first() 

@sammy = Sammy '#foo', -> 
    @use 'Template' 

    @get '#/', (context) -> 
    context.log 'Loading questions...' 
    @load('questions.json') 
     .then (items) -> 
     context.renderEach('assets/question.template', items) 
      .appendTo(questions_container)