5

Play フレームワーク 2.x Scala テンプレートでインライン変数を作成するには? Playのガイドからのパスは私には明確ではありません:

@defining(user.firstName + " " + user.lastName) { fullName =>
  <div>Hello @fullName</div>
}
4

3 に答える 3

10

まず、変数を作成するのではなく、読み取り専用を意味する値を作成します。

あなたの例fullNameでは、中括弧内にアクセスできる値を作成しました。

@defining("Farmor") { fullName =>
  <div>Hello @fullName</div>
}

ハローファーマーを印刷します

テンプレートでグローバルにアクセスできる値を定義するには、すべてを中かっこで囲みます。

例えば

@defining("Value") { formId =>
  @main("Title") {
    @form(routes.Application.addPost, 'id -> formId) {
      @inputText(name = "content", required = true)
      <input type="submit" value="Create">
    }
  }
}

formIdこの例では、 anywereの値を使用できます。

于 2012-05-06T18:59:00.370 に答える
9

@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

于 2013-06-28T10:19:39.157 に答える
2

簡単です。サンプルのコードでブロックをスパンすると、次の@fullName値を持つ変数を使用できます。

user.firstName + " " + user.lastName
于 2012-05-06T19:03:01.123 に答える