加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

Lift(Scala)嵌套代码段(每天多个项目)

发布时间:2020-12-16 18:17:56 所属栏目:安全 来源:网络整理
导读:尝试通过使用Lift框架开始使用 Scala,我在创建我想象的代码时遇到了常见问题:我有一个日期列表,每天都有一个列表,列出当天的项目(嵌套列表) ). 我的想法是采取这种方法: div class="lift:DaySnippet" h1 class="day"Name of Day/h1 ul class="day-items" !
尝试通过使用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 }
    }
}

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

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

解决方法

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

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读