Bibliothèque de modèles communs
-
09-12-2019 - |
Question
J'essaie de créer une vue qui n'héberge que des blocs HTML réutilisables pouvant être utilisés par d'autres vues.Voulait savoir si quelque chose comme ça est possible:
in vues.Home.common.scala.html:
@component1 = {
some common html
}
@component2 = {
some other stuff
}
in vues.home.sample.scala.html:
@(user:User)
import home._
@component1
@common.component2
Je n'ai pas eu de chance jusqu'à présent et je ne vois rien de même dans les échantillons, mais l'idée est couverte dans le Cas d'utilisation courante de modèle .
La solution
J'avais le même problème.Ce que j'ai fait était défini pour chaque bloc commun de fichier, puis importer le package contenant tous ces fichiers.
Par exemple:
dans vues.common.component1.scala.html:
<div>
Common component 1
</div>
dans vues.common.component2.scala.html:
<div>
Common component 2
</div>
@(content: Html)
@import common._
<!DOCTYPE html>
<html>
<head></head>
<body>
@component1()
@component2()
</body>
</html>