我看了很多类似的问题,但仍然难以完成。尝试观察 - 但是在某个地方乱搞并且无法完成它。 riotjs的新手还是
子标记中的我有一个将数据推送到列表的函数:
<make-list>
...lots of html...
<script>
var piclist = []; --after first function run this list has data
....
done: function (e, data) {
piclist.push(data.result);
}
...
</script>
</make-list>
在父数据中我想在函数中访问它
<main>
...lots of html..
<script>
riot.mount('make-list')
and i wana use that piclist = []; list here inside a function
</script>
</main>
答案 0 :(得分:1)
使用mixin以这种方式完成。也许这不是正确的方法,但它确实有效。
<main>
...lots of html..
<script>
riot.mount('make-list')
var piclist = [];
riot.mixin(piclist)
</script>
</main>
<make-list>
... lots of html ...
<script>
...
done: function (e, data) {
piclist.push(data.result);
}
...
</script>
</make-list>
答案 1 :(得分:0)
您似乎希望为make-list
显示的列表main
标记创建列表项,而make-list
是main
的子项。< / p>
您在父标记中使用riot.mount('make-list')
。这至少是非常不寻常的:它实际上触发了要挂载的页面上的所有make-list
标签。为什么不采用暴乱方式并将其添加到父级的html部分中,像这样?
<main>
... lots of html ...
<make-list opts={piclist} />
<script>
this.piclist = [];
</script>
</main>
opts允许您将数据传递给子节点(在本例中是对列表的引用)。你可以在子标签中访问它,如下所示:
<make-list>
... lots of html ...
<script>
...
done: function (e, data) {
this.opts.piclist.push(data.result);
}
...
</script>
</make-list>
我希望这会有所帮助。
答案 2 :(得分:0)
看看RiotComponent。它以直观的方式实现元素之间的通信。