0

我想创建一个名为 style 的变量,并根据输入参数 @filter 的值分配其值

我阅读了该剧的文档,但我可以得到它的当前解决方案类似于:列表模板部分是重复的......

@(filter: String = "error")(body: (String) => Html)

@filter match {

  case "HOT" => {
    <ul class="list">
      <li class="icon-hot">this is a list item..</li>
      <li class="icon-hot">this is a list item..</li>
    </ul>   
  }

  case "NEW" => {
    <ul class="list">
      <li class="icon-new">this is a list item..</li>
      <li class="icon-new">this is a list item..</li>
    </ul>   
  }

}

如何将“icon-new”和“icon-hot”分配给变量@style,然后在编写这样的列表模板时使用它?

    <ul class="list">
      <li class="@style">this is a list item..</li>
      <li class="@style">this is a list item..</li>
    </ul>  
4

1 回答 1

0

这似乎工作......

在 style.scala.html

@(filter: String = "error")(body: (String) => Html)

@filter match {    
  case "OPEN" => {
      @body("icon-plus")
  }
  case "FOLLOWING" => {
      @body("icon-comments")
  }
  case "HOT" => {
      @body("icon-fire")
  } 
}

并在列表模板中

@(filter: String = "HOT")

@style(filter) { style =>
  <ul class="list">
    <li class="@style">this is a list item..</li>
    <li class="@style">this is a list item..</li>
  </ul>   
}

但我仍然不太清楚这是如何工作的......尤其是以下部分:

(body: (String) => Html)

@body("icon-plus")
于 2012-11-01T09:50:02.873 回答