Pergunta

Eu gostaria de fazer algo como o seguinte com faísca.

<viewdata model="IList[[string]]" />

<for each="var file in Model">
<use import="${file}" />
</for>

Este, porém, não funciona porque faísca não está avaliando a ${file} antes de tentar a importação. Isso faz sentido e eu suspeito que não iria funcionar, mas que outra forma eu poderia fazer algo parecido com isso.

Nota:. O modelo é uma lista de nomes de arquivo

Foi útil?

Solução

Você sempre pode usar Html.RenderPartial ():

<viewdata model="IList[[string]]" />

<for each="var file in Model">
  <% Html.RenderPartial(file); %>
</for>

Editar:

Eu não acredito que é muito melhor forma, mas se você realmente não escrever RenderPartial, você pode fazê-lo uma vez. Você terá que criar _useview.spark:

<viewdata file="string"/>
<% Html.RenderPartial(file); %>

e, em seguida, usá-lo assim:

#var views = new string[] { "View1", "View2" };
<for each="string file in views">
    <useview/>
</for>
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top