2017-06-15 10 views
0

ユーザーは、サイトのさまざまなコンポーネントを1つのページに保存してすばやく表示できるダッシュボードページを作成しました。私は次のように動的に1つのコンポーネントをロードすることができるよ:EJS:ページの配列を含める(ページ)

index.js

res.render('dashboard',{comp: 'component1'}); 

dashboard.ejs

<%- include(comp) %> 

を、私はこのような何かをしたいと思います:

index.js

res.render('dashboard',{comp: ['component1', 'component3']}); 

そして、ejsページをinclude()を通してループさせて、ダッシュボードページに0からn個のコンポーネントを表示することができます。

私はそうのようなforループに含めるラップ試してみた:

<%- for(c in comp){include(c)} %> 

が、EJSがこれを好きではなかったが。

私はこれについて間違った方法をしていますか?

答えて

1

あなたのコード内でこの

<% for(var i=0; i < comp.length; ++i) { %> 
    <%- include(comp[i]) %> 
    <% } %> 
+0

ありがとう。それは完璧に働いた。私は複数について考えなかった<% %>タグ – Woodsy

1

を試してみて、cがインデックス値ではなく、COMP [C]があなたのコンポーネントです。

<% for(c in comp){ %> 
     <%- include(comp[c]) %> 
<% } %> 
+0

私の最後にそれを指摘してくれてありがとう、ありがたい間違い。私は本当に問題を引き起こしていたのは、私が<% %>タグの1セットの中でそれをやろうとしていたことでした。 – Woodsy

関連する問題