2

我有一个模板字符串"<a onclick={ parent.foo }>Link</a>"。我想将它传递给其他标签,而不是正确渲染它。我添加了我的代码的简短示例。它不起作用,只是尝试显示我需要的东西。

<child-tag>
    <div>{ opts.data }</div>
</child-tag>

<parent-tag>
    <child-tag data={ html }></child-tag>

    <script>
    this.html = "<a onclick={ parent.foo }>Link</a>";

    foo() {
      console.log("Hello");
    }
    </script>
</parent-tag>
4

1 回答 1

0

Riot 将转义您拥有的 html { opts.data }。您可以使用<raw>riot 文档中描述的标签。但最好这样重写代码。

https://jsfiddle.net/nnyc688e/1/

<child-tag>
    <yield/>
</child-tag>

<parent-tag>
    <child-tag> <a onclick={ parent.foo }>Link</a> </child-tag>

    foo() {
      console.log("Hello");
    }
</parent-tag>

这也更容易理解。

于 2016-01-08T18:04:18.173 回答