2016-04-04 28 views
0

Nesneyi parametre olarak alan ve uzunluğunu döndüren bir yardımcı program yazmayı deniyorum. Bu uzunluk bir tablodaki td'nin rowspan'ına atanacaktır. Bu iGidon'ları kullanarak bir nesnenin uzunluğunu bulma Yardımcılar

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

yapmaya çalışıyorum budur Ve tabloda ben bir nesnenin içinde günlükleri i var

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

yok.

Nerede yanlış gittiğimi bilmiyorum. Bu konuda bana yardımcı olan var mı? Teşekkürler

cevap

1

opts.fn(this)'un ne yapması gerektiği konusunda hiçbir fikrim yok. açıklamanıza dayanarak, aradığınız yardımcı olduğunu düşünüyorum: this answer belirtildiği gibi

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

Sonraki, '#' block helpers içindir. getRowSpan blok yardımcı değildir, bu nedenle gibi erişilebilir olmalıdır:

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

DÜZENLEME: bağlam ve yardımcı geçirilen seçenekler parametreleri hakkında bazı karışıklıklar Söz açıktır olduğunu . tanımlayıcısını context ile işleyicimden değiştirerek, bağlam karesinde Object.keys() aramamızı ve seçenekler karmasını değil.

+0

Bir çekicilik gibi çalışır. Yardım ettiğin için teşekkürler. –