2012-02-26 65 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)