有没有办法从带有输入的组件转换为原始 html?

Posted

技术标签:

【中文标题】有没有办法从带有输入的组件转换为原始 html?【英文标题】:Is there a way to convert from a component with inputs to raw html? 【发布时间】:2019-09-16 09:04:03 【问题描述】:

我在 Vue component-z 中有一个组件。

我需要传入某些参数,所以当我在我的 Vue 的 html 中使用它时,我会这样做:

<component-z id="component" data1="data" data2="moreData"></component-z>

我需要从中取出 html 并将其作为消息传递给父框架(来自 iFrame)。有没有办法做类似的事情:

<component-z id="component" data1="data" data2="moreData"></component-z>.toHtml()

【问题讨论】:

也许使用类似document.getElementById('component').innerHTML 在这种情况下我实际上并没有组件的实例,只有模板的定义和要传入的参数 【参考方案1】:

首先,在该行添加ref属性,如ref='component-z'

如果你在 Vue 文件的 &lt;script&gt; 部分,你可以像这样访问 Vue 实例及其引用:

this.$refs

要访问该组件的外部 HTML(或渲染/原始 HTML),请使用

this.$refs["component-z"].$el.outerHTML

注意该 javascript 的“component-z”部分,它对应于您设置的 ref 属性。

【讨论】:

使用连字符号命名ref 将返回错误。要以正确的方式访问 ref,您必须编写 this.$refs['component-z'] @JimmerFlash 不确定您的意思。尝试解决方案,让我知道会发生什么。

以上是关于有没有办法从带有输入的组件转换为原始 html?的主要内容,如果未能解决你的问题,请参考以下文章

有没有办法将 numpy 数组转换为数据框,然后再转换回 numpy 数组并仍保持原始形状?

对键盘使用原始输入时,有没有办法访问键重新映射?

有没有办法从 JavaScript 中的字符串中删除 html 标签? [复制]

有没有办法将 1.00M 转换为 1,000,000?

HtmlUnit - 将 HtmlPage 转换为 HTML 字符串?

通过重新解释原始字节从一种类型的 numpy 数组转换为另一种类型