web-dev-qa-db-fra.com

comment inclure un modèle avec des paramètres dans EJS?

En tant que véritable débutant en EJS, j'ai deux graphiques dans ma page html, je souhaite donc utiliser mon partiel deux fois:

<% include partials/spider-chart.ejs %>

Mais je dois passer quelques paramètres dans les ejs pour différencier les graphes.

Quel est le meilleur moyen?

27
Orkun Ozen

La solution @Naeem Shaikh fonctionne .. Bien que include vous donne également un moyen plus intuitif d'inclure un modèle partiel et de passer des variables de contexte à celui présenté dans la section documention de ejs .

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

Je pense que vous souhaitez afficher deux graphiques différents en utilisant le même modèle partial ejs, en fournissant simplement des données différentes (au sein du fichier ejs principal).

Vous pouvez simplement définir une variable, qui sera assignée à data, que le premier graphique utilisera, puis inclura le fichier chart.ejs, modifiera à nouveau la data et inclura à nouveau le fichier ejs partiel (chart.ejs) deux fichiers pouvant utiliser la même variable (données), mais pouvant représenter différents graphiques en fonction de la valeur attribuée à data.

Par exemple:

<% 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 %>

où votre fichier spider-chart.ejs pourrait être quelque chose qui utilisera data

spider-chart.ejs

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

ici, à mesure que vous utiliserez des données, la variable de données à laquelle accéderont les deux graphiques sera différente car vous réaffecterez des valeurs pour les données avant chaque graphique.

29
Naeem Shaikh