【问题标题】:Is there any way to pass a DOM element as a prop in Vue 3?有没有办法在 Vue 3 中将 DOM 元素作为道具传递?
【发布时间】:2021-10-09 06:18:39
【问题描述】:

我是 Vue 的超级新手。虽然我通常不这样做,但我认为在 React + JSX(未经测试)中可能会有这样的事情:

render() {
  const el = <p>Blah <a href="https://example.com">bloop</a> bleh</p>
  return (
    <div>
      <CustomReactComponent someProp={el}
    </div>
  )
}

CustomReactComponent 可以将元素从this.props.someProp 中渲染出来。

我可以在 Vue 中实现这一点吗?


出于好奇,我的用例类似于我上面未经测试的 React 示例。我想要一些,但不是所有的普通小组件的父组件传递一些文本以显示在某处。除了我想在任何我喜欢的地方包含链接,所以我需要&lt;a&gt; 标签。我想我可以通过将整个 &lt;p&gt;&lt;span&gt; 元素作为道具传递来完成这项工作。

欢迎使用替代解决方案!

【问题讨论】:

  • 这就是插槽的用途。
  • 哇,谢谢你的指点。正是我需要的!我想这是一个愚蠢的问题,因为我在开始一个项目之前没有通读整个教程,但我会把它留给那些用与我相似的关键字查找这种行为的人。随意将您的评论转换为我可以接受的答案!

标签: javascript vue.js dom vuejs3 vue-props


【解决方案1】:

正如 Estus 在他们的评论中所说,这就是 slots feature 的用途。

【讨论】:

    猜你喜欢
    • 2016-04-29
    • 2022-01-25
    • 1970-01-01
    • 2020-09-15
    • 1970-01-01
    • 1970-01-01
    • 2019-05-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多