2012-11-29 108 views
1

我是新來的Scala(斯卡拉在播放2框架模板),我要做到以下幾點:傳遞一個參數isEdit並根據此參數,定義了一個值,僞代碼:斯卡拉模板中設置變量

variable myTitle; 

if(isEdit) 
    myTitle="edit question"; 
else 
    myTitle="create question"; 

如何在Play 2.0中的Scala模板中進行表達?傳遞isEdit不是問題,只創建新變量myTitle。感謝:-)

+0

通'myTitle'太...你想去哪裏以後使用'myTitle'? – biesior

+0

[Play2 scala模板聲明變量]可能的重複(http://stackoverflow.com/questions/12031146/declare-variable-in-a-play2-scala-template) – pathikrit

回答

-3

不是很確定你的要求,你可以這樣做:

var myTitle = "" 
if (isEdit) 
    myTitle="edit question" 
else 
    myTitle="create question" 

或者這樣:

val myTitle = if (isEdit) "edit question" else "create question" 
+2

完全錯誤,你不能在scala中執行此操作模板 –

6

首先,看Playframework文檔了作爲有一個那裏的模板很多很好的信息。現在 http://www.playframework.org/documentation/2.0.4/ScalaTemplates

,如果你需要重新使用整個模板中的值,那麼你可以在你的模板的頂部聲明它(後可能任何@imports):

@myTitle = @{ if(isEdit) "edit question" else "create question" } 

如果你只需要它一個地方,那麼你真的只需要在if-else塊:

<h1> 
    @if(isEdit) { 
    edit question 
    } else { 
    create question 
    } 
</h1> 
0

在一個視圖模板不能使用變量,以這種方式(如果我錯了指正)。我會使用JavaScript做你想做的事,即傳遞isEdit到一些JavaScript函數,並從那裏設置標題。

0

你可以試試這個,從控制器類似的情況下爲我工作

@import java.lang.String; val myTitle = { if(isEdit) "edit question" else "create question" } 

<h1> 
    @myTitle 
</h1>