0

我有一个 field.scala.html 应该将控件作为输入并呈现它。

现在我喜欢这样:

@field("shop", "name", true) { (modelName, fieldName, required) =>
  @textInput(modelName, fieldName, required)
}

但我想这样做:@field("shop", "name", true)(textInput)

我看到了两种可以完成的方法,但不确定是否可行:

  1. 不知何故,通过反射调用带有适当参数的 textInput.apply 。
  2. 使 textInput 实现一些特征和字段将需要此特定特征的实例(更安全)

也许有更好的方法?

4

1 回答 1

1

模板只是函数。如果 field.scala.html 采用:

(String, String, Boolean) => Html

并且 textInput.Scala.html 具有以下参数声明:

@(modelName: String, fieldName: String, required: Boolean)

那么你想做的事情就会奏效。如果没有尝试传递 textInput.apply。

于 2014-10-18T20:38:55.140 回答