我正在使用 RiotJS v3.9
我编写了一个接受一些选项的自定义标签。问题是它生成的标记除了我显式存放它们的内部标签外,还包括最外层元素上的所有这些选项。除非我做到这一点,否则我不希望任何选项出现在顶部元素上。
在这种情况下,我的自定义标签显示项目列表。它接受的选项之一是每个列表项上特定data-
属性的值。所以,我想出data-something={opts.itemSomething}
现在每个列表项上,但我不希望它出现在包装上。
// my-list.tag
<my-list>
<ul data-something={ opts.something }>
<li
each={ item in opts.items }
data-something={ parent.opts.itemSomething }
>
{ item }
</li>
</ul>
</my-list>
使用它:
<my-app>
<my-list
something="parent-value"
item-something="child-value"
items={['one', 'two', 'three']}
/>
</my-app>
它发出到页面中的内容:
<my-list something="parent-value" item-something="child-value">
<ul data-something="parent-value">
<li data-something="child-value"> one </li>
<li data-something="child-value"> two </li>
<li data-something="child-value"> three </li>
</ul>
</my-list>
我不希望发出的<my-list>
标签上有父值或子值。我只希望这些属性出现在<ul>
and上<li>
,就像我编写的那样。
// bad output
<my-list something="parent-value" item-something="child-value">
// good output
<my-list>
这可能吗?
另外,我从与 React 的合作中知道,我可能会遇到未来的情况,我希望某些选项出现在包装器上,同时隐藏其他选项。所以,理想情况下,我想知道如何在每次选择的基础上控制这种行为。