gpt4 book ai didi

scala - Lift (Scala) 嵌套片段(每天多个项目)

转载 作者:行者123 更新时间:2023-12-04 18:50:24 26 4
gpt4 key购买 nike

尝试通过使用 Lift 框架来开始使用 Scala,但我在创建我想象的典型场景时遇到了麻烦:我有一个日期列表,每天都有一个当天的项目列表(嵌套列表) )。

我的想法是采取这种方法:

<div class="lift:DaySnippet">
<h1 class="day">Name of Day</h1>
<ul class="day-items">
<!-- wanted to have a separate snippet but haven't made it work -->
<!-- <li class="lift:DayItemSnippet">Item content</li> -->
<li class="item">
<span class="name">Name</span>
<span class="desc">Description</span>
</li>
</ul>
</div>

最初我不打算拥有内部片段,但认为这是有道理的。

所以我可以定义一个这样的片段:
class DaySnippet {
// Ignoring that this is a stupid way to define the data
val days = ("Monday", ("Item 1", "Item 1 Description") :: Nil) ::
("Tuesday", ("Item 2", "Item 2 Description") ::
("Item 3", "Item 3 Description") :: Nil) :: Nil;

def render = {
// EDIT: Original code was broken, this is what I was trying to show

"* *" #> days.map { case (day, items) => ".day *" #> day }
}
}

无论如何,我正在寻找嵌套片段和/或如何迭代嵌套集合并使用 CssSels 修改整个 NodeSeq 的一些文档或示例。

我很乐意添加任何可能澄清的其他信息。

最佳答案

我想出了一些代码来做我想做的事,但我不确定它是否是最佳的,所以欢迎提出建议:

class DaySnippet {
// Ignoring that this is a stupid way to define the data
val days = ("Monday", ("Item 1", "Item 1 Description") :: Nil) ::
("Tuesday", ("Item 2", "Item 2 Description") ::
("Item 3", "Item 3 Description") :: Nil) :: Nil;

def render = {
"* *" #> days.map { case (day, items) =>
".day *" #> day & ".item *" #> item.map {
case (name, desc) =>
".name *" #> name * ".desc *" #> desc
}
}
}
}

关于scala - Lift (Scala) 嵌套片段(每天多个项目),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6909288/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com