从动态接收的 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()
.
我知道的事情:
问题原因很简单:由于页面已经加载,body附带的vue脚本也加载了,所以无法识别我从dinamic加载的组件签名html内容.
我可以使用 "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
我将 VueJS 与 gulp 一起使用,并在 Laravel 应用程序中使用 browserify。
我的 vue 组件可以正常使用 html 或 blade 文件。
仅当我在页面加载后尝试加载 html 时才会出现此问题。 (加载vue脚本后...)
Ex:假设组件的签名是 <todo-list />
。我正在尝试在模态中加载它。包含签名的 html 是从 jQuery Ajax 调用动态加载的。 $.ajax()
.
我知道的事情:
问题原因很简单:由于页面已经加载,body附带的vue脚本也加载了,所以无法识别我从dinamic加载的组件签名html内容.
我可以使用 "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