使用Vue js 2将内容槽作为字符串

时间:2016-12-22 16:03:30

标签: vue.js

我需要在编译该插槽之前获取插槽内的字符串。是posibble?

实施例

<div>
 <slot>
   <component-test text="test1"></component-test>    
 </slot>   
</div>

我需要结果"<component-test text="test1"></component-test>"

1 个答案:

答案 0 :(得分:-1)

嗯好像它的处理插槽内容html所以..在最终结果如果你需要它作为字符串并稍后使用那么你必须做一些技巧。

首先你需要把真正的字符串放在那里:

escape('<component-test text="test1"></component-test>');

输出:%3Ccomponent-test%20text%3D%22test1%22%3E%3C / component-test%3E

使用此输出内容并将其放入插槽中。 这将视为字符串。

现在如果您需要使用该字符串的真实HTML

使用以下命令将其转换回html:

unescape('%3Ccomponent-test%20text%3D%22test1%22%3E%3C/component-test%3E')

输出:

<component-test text="test1"></component-test>

这样当你需要传输html / string时你可以把它变成真正的字符串然后当你需要使用/ compile再次使它成为html时。