2015-03-22 11 views

cevap

24

Sadece farklı veriler sağlayarak (ana ejs dosyasında) aynı kısmi ejs şablonunu kullanarak iki farklı grafik oluşturmak istediğinizi düşünüyorum.

sadece daha chart.ejs dosyası içerir, daha önce grafik kullanır data, atanacak bir değişken tanımlamak data değiştirmek ve yeniden kısmi ejs dosyası (chart.ejs) içerebilir, Şimdi aynı değişken (veri) kullanabilen iki dosya var, ancak data'a atanan değere göre farklı grafikler çizebilir. Örnek için

:

<% var data= 'data to be used by first chart(parameter)'; %> 
<% include partials/spider-chart.ejs %> 

// re-initializing data for second chart 
<% data= 'data to be used by second chart(parameter)'; %> 
<% include partials/spider-chart.ejs %> 

kullanmak gibi spider-chart.ejs dosya, burada data

örümcek chart.ejs

<li> 
     <%= data %> // just an example 
    </li> 

kullanacağı bir şey olabilir veri, her ikisi tarafından erişilen veri değişkeni Grafikler farklı olacaktır çünkü her grafikten önce verileri yeniden atamanız gerekir.

40

@Naeem Shaikh çözümü çalışır. include, kısmi bir şablon eklemeyi ve içerik değişkenlerini de documention section of ejs'da bulunanlara geçirmenin daha sezgisel bir yolunu verseniz de sağlar.

<ul> 
    <% users.forEach(function(user){ %> 
     <%- include('user/show', {user: user}); %> 
    <% }); %> 
</ul> 
+0

ben bu denerseniz, '

<%- include folder/index , {user: user} %>
' i 'ENOENT olsun: hayır böyle bir dosya ya da dizin, açık '/ (klasör/index.ejs'' – vardha

+1

Sen parametreleri sarmak gerekiyor Bir parantez. *

<%- include ('folder/index' , {user: user}); %>
' –

+8

Bu gerçekten kabul edilen cevap olmalıdır.Genel bir değişken kullanan diğer yol sphagetti kodunun kokusuna sahiptir, kapsüllemeden yoksundur ve varsayımlara dayanır (ör. var verilerin başka bir şey için kullanılmaması) – pscl

İlgili konular