2017-07-13 11 views

答えて

0

(少なくとも)2つのオプションがあります。各リスト項目(たとえば、画像のサムネイルを表示する)で多くの作業を行っている場合は、2番目の方法を使用することができます。それ以外の場合は、この単純なアプローチを使用することができます(別のコントローラーで制御される多数の種の統計情報を表示します)。私は「建物」のすべての項目のために行くより多くの仕事を持っている。この例では

function showSpecies(stats) { 
    _.each(stats, function(record){ 
     $.form.add(Alloy.createController('viewStatsRow', {record:record}).getView()); 
    }); 
} 

statsは私のリストです。

var work = []; 
function showNextItem(work,first){ 
    if(work && work.length > 0){ 
     // Progressively show list.... 
     if($.boastList && $.boastList.sections[0]){ 
      var list = []; 
      list.push(buildOneItem(work.shift())); // Take first element 
      if(first){ 
       $.boastList.sections[0].items = list; // Replace list 
      }else{ 
       $.boastList.sections[0].appendItems(list); // append item 
      } 
      // Free queue to allow other actions 
      setTimeout(function(){ 
       showNextItem(work); // Call recursively... 
      },30); 
     } 
    }else{ 
     // All boasts shown... 
    } 
} 

function showBoastlist(){ 
    work = []; 
    DataFactory.boasts.find({}, {$sort:{sortTime:-1}}, function(result){ 
     result.forEach(function(record) { 
      work.push(record); 
     }); 
    }); 
    showNextItem(work,true); 
} 

buildOneItem機能だけでアイテムを返しますし、それが空になるまで、残りのリストで関数を呼び出す - だから私は、「キュー」としてリストを使用して、ちょうど最初のアイテムを扱うスレッドをロック避けるために、ビューに追加する準備ができました。しかし、あなたはそれが

ハッピーコーディング;-)使用することを願って - これはあなたが尋ねた場合

わかりません!

/ジョン

関連する問題