Vue 2 - 从ajax响应中渲染组件

时间:2016-11-19 16:57:40

标签: javascript ajax vuejs2 vue-router

有没有办法渲染来自ajax响应的组件? 例如,我注册了一个组件“Test”,并在ajax响应中我有:

<p>dummy paragraph</p>
<test></test> <!-- vue component I want to render -->
<p>another dummy paragraph</p>

我的最终目标是制作一个短代码,让用户在内容区域中插入路由器链接。

我正在使用Vue 2,vue router

编辑:这是一个演示https://jsfiddle.net/Paulius_Krutkis/4mb1ypqs/

1 个答案:

答案 0 :(得分:1)

我不确定,你在这里遇到的确切问题是什么,如果你正在寻找如何呈现从ajax调用返回的HTML,你可以使用v-html来渲染具有HTML的字符串变量。

但请注意:

  

请注意,内容以纯HTML格式插入 - 它们不会编译为Vue模板。

所以v-html不会像你期望的那样编译和渲染任何vue组件,你可能需要找到一些其他的解决方案。

Alternet方式

但是正如您所说,您需要一种方法来呈现来自ajax响应的组件。您可以获取Async-Components的帮助,您可以将组件定义为异步解析组件定义的工厂函数。

在此处查看演示:https://jsfiddle.net/4mb1ypqs/1/