私はこのようなフィールドコンストラクターとしてtwitterブートストラップを使用しています
@import helper.twitterBootstrap._
@implicitFieldConstructor = @{ FieldConstructor(extra.twitterBootstrapInput.f) }
別のフィールドコンストラクターを追加/使用するにはどうすればよいですか?
ありがとうございました
私はこのようなフィールドコンストラクターとしてtwitterブートストラップを使用しています
@import helper.twitterBootstrap._
@implicitFieldConstructor = @{ FieldConstructor(extra.twitterBootstrapInput.f) }
別のフィールドコンストラクターを追加/使用するにはどうすればよいですか?
ありがとうございました
ハッキングできる可能性はありますが、テンプレートに含めることができるのは 1 つだけです。
まずはコードを理解しましょう。表示するコードは、結果の Scala コードでimplicit
呼び出される (名前が Implicit で始まるため) 変数を作成します。fieldConstructor
タイプがあるためFieldConstructor
(割り当てられた値から自動的に推測されます)、暗黙的なものが必要な場所で使用されFieldConstructor
ます。
同様の方法で同じ型の別の var を宣言する場所を指定すると、Scala はどの Implicit を使用すればよいかわからなくなり、エラーが発生します。
FieldConstructor
つまり、次のように as を明示的に宣言できます。
@input(field, args:_*)( Htmlcode)(implicitFieldConstructor)
3 番目のパラメーターが明示的に作成されていることに注意してください。
これにより、次のようなコンストラクターをさらに作成できるようになります。
@implicitAnotherFieldConstructor = @{ FieldConstructor(anotherConstructor) }
警告: 現時点ではこれを完全にテストすることはできませんでしたが、テンプレートの動作を考えると、これしか選択肢がないように思われます。
これについて私が理解したもう1つの方法は、たとえばフォーム内の1つのフィールドコンストラクター内に if else ステートメントを追加することです。
@inputFile(
nsForm("plateFiles"),
'_label -> "Upload files",
'uploadwidget -> "Select file(s)"
)
そしてあなたのフィールドコンストラクターで:
@if(elements.args.contains('uploadwidget)){
//Do something here
}else{
//Do something else
}