2016-04-04 34 views
0

我想寫一個幫助器,它將一個對象作爲參數並返回它的長度。該長度將被分配給表中的td的行距。這就是我要做的使用把手幫助者查找對象的長度

'getRowSpan': function(opts) { 
    return Object.keys(opts.fn(this)).length; 
} 

及表我做

<td rowspan="{{#getRowSpan logs}}"> 

這裏,我有一個對象日誌。

我不知道我錯在哪裏。 任何人都可以幫我解決這個問題嗎? 謝謝

回答

1

我不知道opts.fn(this)應該做什麼。根據您的描述,我覺得你正在尋找的助手是:

Handlebars.registerHelper('getRowSpan', function (context) { 
    return Object.keys(context).length; 
}); 

接下來,this answer說明,「#」是block helpersgetRowSpan不是塊幫手,所以應該像訪問:

<td rowspan="{{getRowSpan logs}}"> 

編輯: 正是從這個問題清楚的是,關於上下文和傳遞給助手的選項參數一些混亂。我用我的處理程序context替換標識符opts,以清楚地表明我們在上下文對象上調用Object.keys()而不是選項哈希。

+0

工程就像一個魅力。非常感謝幫助。 –