2012-02-26 68 views
1

我试图从服务器加载订购的项目清单,然后用我的模板(和http://sammyjs.org/docs/tutorials/json_store_1指导)使它们的顺序:渲染的项目列表打破

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) 

我发现有趣的效果在萤火虫控制台中,所有项目都以服务器返回的顺序(按ID排序)登录,但是在DOM中它们往往会混淆在一起。

这是因为渲染()并行逻辑发生吗?我怎样才能确保项目的顺序保存在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)