我正在尝试使用加载标签的概念,我可以包装其他元素以在异步检索数据时提供一致的加载显示。考虑以下代码:
这个例子依赖于
browserify
(要求)但不应该对问题产生影响
<test>
<loading>
<ul>
1. = <li each={ items }>{ title }</li>
or
2. = <li each={ parent.items }>{ title }</li>
or
3. = <li each={ opt.data.items }>{ title }</li>
</ul>
</loading>
<script>
require('riot');
require('./loading.tag');
this.items = [
{ title: 'title 1'},
{ title: 'title 2'}
];
this.on('mount', function () {
riot.mount('loading', /* for 3 = */ {data: this.items});
})
</script>
</test>
如您所见,该标签<test />
包含一个嵌套标签<loading />
,用于包装内容<test />
显示。问题是我不确定引用 items 数组的正确方法(在现实世界中将通过 ajax 拉入)。我尝试了选项 1 和 2,但没有任何显示。3 工作(将数据作为选项传递)但感觉不对。
它可能与<yield />
如何<loading />
显示其内容有关,但我不知道为什么。
<loading>
<div><yield /></div>
</loading>