2013-01-20 13 views
6

ı Meteor (_ID, user_id, user_name, product_name, price_unit, miktar) bir basit Product_Orders koleksiyonu var ve ben her satır içermelidir tablodaki tek bir kullanıcının tüm siparişleri göstermek istediğinizi varsayalım:Meteor'ın şablonunda bazı basit matematikler nasıl yapılır?

user_name, product_name, quantity, price_unit, quantity, price_total (price_unit * quantity) 

Ayrıca tüm kullanıcıların siparişleri için büyük bir toplam görüntülemek istiyorum.

Handlebars'ın basit matematik işlemlerini desteklediği görünmediği için bunu Handlebars.js şablonunda yapmanın kolay yolunu göremiyorum. Product_order'ın imlecini şablonuma kolayca döndürebilirim, ancak şablondaki price_total ve grand toplamı hesaplamanın kolay yolunu göremiyorum.

Bir çeşit şablon yardımcısı oluşturmayı düşünüyorum, ancak bunun doğru yön olup olmadığından emin değilim. Bu sorun, basit bir & zarif bir çözüme sahip olması gerektiği gibi görünüyor.

cevap

13

Evet, bir yardımcı yazmalısınız. Gidonlar şablonlarda mantığı kullanmayı desteklemez (bu da sizi endişeler deseninin ayrılmasını uygulamanızı zorlaştırdığı için iyi bir uygulamadır).

bir şablon yardımcı şuna benzer:

Handlebars.registerHelper("grandTotal", function(user_name) { 
    var grandTotal = some_magic_to_calc_total(user_name); 
    return grandTotal; 
}); 

Sonra şablondan böyle yardımcı arayabilirsiniz:

<template name="foo"> 
    {{grandTotal user_name}} 
</template> 

Sen Handlebars.js docs yılında yardımcıları hakkında daha fazla bilgi bulabilirsiniz.

İlgili konular