javascript - 如何将 Vue 实例挂载到尚未附加的 HTML 元素
问题描述
在我正在创建的应用程序中,我想将一个Vue
实例安装到HTML Node
. 但是使用该$mount
函数后,Node
不包含Vue
实例。
在下面的代码中,您可以看到我要完成的工作。我想返回一个HTML Node
包含Vue
实例。
const el = document.createElement('div');
new Vue({
render(createElement) {
return createElement(HelloWorldVue, {}, {});
},
components: {
HelloWorldVue,
},
}).$mount(el);
return el;
有人知道如何在将 Vue 实例安装到视图之前将其安装到生成的元素上吗?
解决方案
通过文档:
与 Vue 1.x 不同,挂载的元素在所有情况下都将替换为 Vue 生成的 DOM。
所以这行不通。$mount()
但是你可以通过不带任何参数的调用来做类似的事情:
如果
elementOrSelector
未提供参数,则模板将呈现为文档外元素,您必须使用本机 DOM API 自己将其插入到文档中。
// or, render off-document and append afterwards:
var component = new MyComponent().$mount()
document.getElementById('app').appendChild(component.$el)
推荐阅读
- javascript - React 将数组从父状态传递到子状态
- c# - 如果已经登录,使用会话状态将用户重定向到主页
- c++ - 在字符串中的偶数位置提取字母?
- html - 如何创建包含带有 R 的图像的 html 表(通过相对路径或插入 - base64)?
- node.js - 如何将多个项目同时插入到 MongoDB 集合中?
- tableau-api - 列聚合上的 Tableau 堆叠和并排条形图
- html - LinearGradiant SVG 动画在 Firefox 中看起来不正确
- dynamics-crm - 未考虑 FetchXml 查询的条件
- javascript - 邮政编码的openweathermap天气数据不起作用?
- excel - 为多个条件创建索引(匹配()),为多个日期创建多个结果