1

我有一个相对简单的页面,它从 CDN 加载 Riot.js,从本地脚本文件加载 RiotControl,从文件加载 RiotControl Store,以及两个自定义标签custom-acustom-b.

    <div class="ui text container" id="context">
        <form class="ui form">
            <h1>A Descriptive and Lovely Header</h1>

            <div class="ui divider"></div>

            <custom-a/>

            <p>this is just a paragraph</p>
            <custom-b/>
        </form>
    </div>

    <!-- Riot.js Ceremony -->
    <script>
        RiotControl.addStore(new Store());
        riot.mount('*');
    </script>

标签正在安装——console.log两个标签文件中的行显示——并且事件被正确路由(再次通过 证明console.log)。但是,在第一个自定义标签呈现后没有任何内容:custom-a如果它在顶部则custom-b显示,如果它在顶部则显示,但<p>它们之间的不呈现,如果它在那里则不呈现。

我认为这可能是 CSS 的问题,所以我从页面中删除了语义 UI 链接,但这除了样式之外没有任何区别。

有任何想法吗?

4

2 回答 2

3

这不是 Riot 问题,而是浏览器呈现自关闭标签的方式。检查这个小提琴https://jsfiddle.net/9uezdbo9/1/

<div>Element before</div>
<self-close/>
<div>Element after</div>

渲染

<div>Element before</div>
<self-close>
  <div>Element after</div>
</self-close>

参考:https ://github.com/riot/riot/issues/1111检查 GianlucaGuarini 答案

于 2016-09-08T12:38:59.190 回答
0

它最终变得非常简单:Riot.js 的“即时编译”方面似乎不能很好地处理自闭合标签。这工作正常:

<custom-a></custom-a>
<custom-b></custom-b>
于 2016-09-07T23:07:38.973 回答