【问题标题】:Scala template set variableScala 模板集变量
【发布时间】:2012-11-17 21:14:59
【问题描述】:

我是 Scala 的新手(Play 2 框架中的 Scala 模板),我想做以下事情:传递一个参数 isEdit 并根据这个参数定义一个值,伪代码:

variable myTitle;

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

如何在 Play 2.0 中的 Scala 模板中进行表述?传递 isEdit 不是问题,只创建新变量 myTitle。谢谢:-)

【问题讨论】:

标签: templates scala playframework playframework-2.0


【解决方案1】:

首先,请查看 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>

【讨论】:

    【解决方案2】:

    您不能在视图模板中以这种方式使用变量(如果我错了,请纠正我)。我会使用 javascript 来做你想做的事情,即将 isEdit 传递给一些 javascript 函数并从中设置标题。

    【讨论】:

      【解决方案3】:

      你可以试试这个,在类似的情况下为我工作

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

      【讨论】:

        【解决方案4】:

        不太清楚你在问什么,你可以这样做:

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

        或者这个:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-08-15
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多