Domanda

Sto cercando di creare una vista che ospita solo blocchi HTML riutilizzabili che possono essere utilizzati da altre viste.Volevo sapere se qualcosa di simile è possibile:

in viste.home.common.scala.html:

@component1 = {
  some common html
}
@component2 = {
  some other stuff
}
.

in viste.home.sample.scala.html:

@(user:User)
import home._

@component1
@common.component2
.

Non ho avuto fortuna finora e non vedo nulla di simile nei campioni, ma l'idea è coperta da Casi di uso comune del modello .

È stato utile?

Soluzione

Stavo avendo questo stesso problema.Quello che ho fatto stava definendo per ogni file comune di blocco un file e quindi importare il pacchetto che contiene tutti quei file.

Ad esempio:

in Views.comMon.Component1.scala.html:

<div>
    Common component 1
</div>
.

in views.commons.Component2.scala.html:

<div>
    Common component 2
</div>
.

in viste.main.scala.html:

@(content: Html)

@import common._

<!DOCTYPE html>
<html>
    <head></head>
    <body>
        @component1()
        @component2()
    </body>
</html>
.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top