从动态接收的 html 内容初始化组件

Initialize component from a html content received dynamically

我将 VueJS 与 gulp 一起使用,并在 Laravel 应用程序中使用 browserify。

我的 vue 组件可以正常使用 html 或 blade 文件。

仅当我在页面加载后尝试加载 html 时才会出现此问题。 (加载vue脚本后...)

Ex:假设组件的签名是 <todo-list />。我正在尝试在模态中加载它。包含签名的 html 是从 jQuery Ajax 调用动态加载的。 $.ajax().

我知道的事情:

  1. 问题原因很简单:由于页面已经加载,body附带的vue脚本也加载了,所以无法识别我从dinamic加载的组件签名html内容.

  2. 我可以使用 "onShow" 模态事件。问题是我不知道如何调用VueJS来检查所有html再次解析那些组件标签。

我无法使用 v-if 或 v-show 指令解决这个问题。

为了解决,我需要再次 "compile" Vue App,调用:

var node = $('#ROOT_NODE_OF_COMPONENT').get(0);
this.$compile(node);

运行 远程 HTML 内容加载到 DOM 后的这段代码。

PS: VueJS v1.0