如何在Play框架2.x中創建內聯變量Scala模板?從Play's guide 路徑不明確對我說:Play框架2.x中的內聯變量Scala模板
@defining(user.firstName + " " + user.lastName) { fullName =>
<div>Hello @fullName</div>
}
如何在Play框架2.x中創建內聯變量Scala模板?從Play's guide 路徑不明確對我說:Play框架2.x中的內聯變量Scala模板
@defining(user.firstName + " " + user.lastName) { fullName =>
<div>Hello @fullName</div>
}
首先,你沒有創建一個變量,但一個值意味着它是隻讀的。
在您的示例中,您創建了一個值爲fullName
的大括號內可訪問的值。
@defining("Farmor") { fullName =>
<div>Hello @fullName</div>
}
將打印你好Farmor
要定義值,它是全球訪問在模板中只是擁抱你的大括號的一切。
E.g.
@defining("Value") { formId =>
@main("Title") {
@form(routes.Application.addPost, 'id -> formId) {
@inputText(name = "content", required = true)
<input type="submit" value="Create">
}
}
}
在該示例中,您可以使用任何值formId
。
這很容易,跨越從樣本代碼的塊,那麼你將可以使用@fullName
變量,它具有價值:
user.firstName + " " + user.lastName
如果你不想使用@defining
語法,你可以定義一個reusable block
這將在每次使用它時評價:
@fullName = @{
user.firstName + " " + user.lastName
}
<div>Hello @fullName</div>
與此相同的語法,你也可以傳遞參數給塊: https://github.com/playframework/Play20/blob/master/samples/scala/computer-database/app/views/list.scala.html
除了可重用塊將在每次使用時重新執行時,定義塊的值將只計算一次。 – kdkeck
謝謝,編輯。 – OlivierBlanvillain
醜陋,令人費解! ....對於所有速度/自由標記的努力來說,使得視圖非常乾淨和HTML編碼器友好。現在看來,現在的時尚是讓HTML觀點一塌糊塗*嘆息* – monzonj
我同意!我非常非常不喜歡這個語法。 – droope