首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Websharper :使用LI标记

Websharper :使用LI标记
EN

Stack Overflow用户
提问于 2014-09-15 14:57:06
回答 1查看 171关注 0票数 5

我想创造出这样的东西:

代码语言:javascript
复制
<ul>
    <li>menu1
         <ul>
             <li>sub-menu1</li>
         </ul>
    </li>
    <li>menu2</li>
</ul>

因此,我使用WebSharper编写了以下代码:

代码语言:javascript
复制
let el =
        UL [
            LI [
                Text "menu1"
                UL [
                    LI [Text "sub-menu1"]
                ]
            ]
            LI [Text "menu2"]
        ]

但上面写着

代码语言:javascript
复制
UL [
    LI [Text "sub-menu1"]
]

应该具有IPagelet类型,但当前有类型Element

有没有人知道如何使用WebSharper将文本+其他东西放在安莉元素下?

编辑:只是说我在stakc上有一个bug,我不能评论或接受@Tarmil的回答。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-09-15 15:09:18

这里的问题是,同一列表中的两个元素,Text "menu1"UL [...],分别具有IPageletElement类型。ElementIPagelet的一个子类型,所以这应该可以工作,但是不幸的是,F#类型推断在这种情况下有一些困难。所以您需要通过将UL [...]转换为IPagelet来帮助它。

代码语言:javascript
复制
let el =
    UL [
        LI [
            Text "menu1"
            UL [
                LI [Text "sub-menu1"]
            ] :> IPagelet
        ]
        LI [Text "menu2"]
    ]

事实上,如果组合子的类型为seq<IPagelet> -> Element而不是seq<#IPagelet> -> Element,则可以消除这个问题。我们可能会在未来将他们改变,但由于这将是一个突破性的变化,我们将保留它为下一个主要版本。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25850971

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档