如何在 Play Framework 2 (Scala) 中的可重用块中使用变量

How to use variable in reusable block in Play Framework 2 (Scala)

我找不到如何在可重用块中插入变量的方法。 我已经试过了,但没有成功:

@headers = @{
    page match {
        case "home" => Map(
                "title" -> "Welcome",
                "description" -> "Welcome to our site")
        case "profile" => Map(
                "title" -> "@user.name - @site.name",
                "description" -> "Hello @user.name")
        }
    }


@headers = @{
    page match {
        case "home" => Map(
            "title" -> "Welcome",
            "description" -> "Welcome to our site")
        case "profile" => Map(
            "title" -> user.name + "-" site.name,
            "description" -> "Hello" + user.name)
    }
}

您应该将变量作为参数传递:

@headers(user:User,site:Site) = @{
    page match {
        case "home" => Map(
            "title" -> "Welcome",
            "description" -> "Welcome to our site")
        case "profile" => Map(
            "title" -> user.name + "-" site.name,
            "description" -> "Hello" + user.name)
    }
}

注意:我猜到了 usersite 的类型。你当然需要改变那些。

查看文档:https://www.playframework.com/documentation/2.4.x/ScalaTemplates#Declaring-reusable-blocks