Riotjs从子标记到父标记的数据

时间:2016-12-02 13:59:37

标签: riotjs

我看了很多类似的问题,但仍然难以完成。尝试观察 - 但是在某个地方乱搞并且无法完成它。 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>

3 个答案:

答案 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-listmain的子项。< / 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。它以直观的方式实现元素之间的通信。