CNode

vue这么动态引入vue文件?

问答
Mmcck发布于9 年前最后回复8 年前4 回复4263 浏览0 收藏

我需要在vue项目运行时引入新的vue文件,该文件是服务器生成的通过ajax请求回去的,请问如何实现这个功能?

查看回复

回复 (4)

M
mcck#1·9 年前

或者这么在vue的标签内包含标签

D
dislido#2·9 年前

0.思考一下是不是真的必须动态引入vue文件,有没有什么更好的替代方法
1.获取vue文件
2.把template部分直接以html形式加入到要加入的dom下,并给它一个id和一个data-id的attribute
3.script部分,解析那个export default的obj,令这个obj.el=#id,直接添加一个script标签然后new Vue(obj)
4.style部分给每个样式加上[data-id]选择器(用来模拟scoped)(不过既然已经有了id其实直接用id来限定scope就可以了)然后扔进一个新的style标签
5.上面的方法其实还有很多要考虑的问题,所以还是建议找找其他不用动态引入vue的方法

M
MiYogurt#3·9 年前
const initComp = (element) => {
	new Vue({
		el: element,
		data: {},
		render: (h) => h(something)
	})
}

编译成 js ,运行即可,不知道能不能成功,你试一下。

参与回复
登录后即可参与回复。登录