成人国产精品久久久网站-国产精品蜜-午夜色播-亚洲经典一区二区三区-性迷宫在线-色资源在线-免费看黄色小视频-男人天堂免费视频-亚洲欧洲精品视频-国产精品超碰-av无遮挡-日韩中文一区二区-亚洲h在线观看-97色伦影院-久久大胆

Handlebars.js中集合(list)通過中括號的方式取值

2017/2/16 8:31:26   閱讀:2155    發布者:2155

有這么一個需求,在一個table中,tr是通過each取值,
取出的值要與table標題相對應,如何實現?例如:

<table> 
  <thead> 
    <tr> 
    {{#each 標題集合,值舉例[name,sex...]}} 
      {{this}} 
    {{/each}} 
       得到結果應是 
       <th>name</th> 
       <th>sex</th> 
    </tr> 
  </thead> 
 <tbody> 
  {{#each 內容集合,值舉例[{name:’蘇軾’,sex:’男’},{name:’李清照’,sex:’女’}...]}} 
      此時我想得到這樣的數據,與標題想對應,該如何做呢? 
      <tr> 
         <td>蘇軾</td> 
         <td></td> 
      </tr> 
      <tr> 
        <td>李清照</td> 
        <td></td> 
      </tr> 
    {{/each}} 
 </tbody> 
</table>

如果在JS中,我們可以通過list[key]的方式取值,但是handlebars
好像不支持這種方式,不知道是不是我自己沒整明白

總之資料了找了半天,也沒有找到合適的解決方案,于是乎,自己寫吧,很簡單。

Handlebars.registerHelper("getValueByKeyFromList", function(list, key, options){ 
    if(list && key && list[key]){ 
        return list[key]; 
    } 
    return; 
});

應用到上面table中就是

{{#each 內容集合,值舉例[{name:’蘇軾’,sex:’男’},{name:’李清照’,sex:’女’}...]}} 
    此時我想得到這樣的數據,與標題想對應,該如何做呢? 
    <tr> 
      {{#each 標題集合,值舉例[name,sex...]}} 
        <td>{{getValueByKeyFromList ../this this}}</td> 
        ../this 意為上一層集合的當前值 
        this  意為當前集合的當前值 
      {{/each}} 
    </tr> 
{{/each}}

有需要的朋友可以照著這方法試試,希望能幫到大家

【 微信掃一掃 】

文章分類

相關新聞

熱門標簽

企業網站  | 燈飾照明  | 機械設備  | 數碼產品  | 貿易公司  | 酒類飲品  | 商務咨詢  | 廣告行業  | 家政行業  | 醫療  | 衛浴設備  | 廚具設備  | 模具  | 陶瓷用品  | 物流  | 房地產  | 辦公家具  | 包裝用品  | 家居用品  | 玩具禮品  | 電子電工  | 環保綠化  | 專業服務  | 服裝紡織  | 建筑建材  | 旅游休閑  |