Vue.js 使用Nuxt动态获取和编译模板
我想从远程获取一个svg,并通过编译将其激活。我说的“生活化”是指按类选择它的一些元素,并动态地向其中添加一个组件列表 现在我只使用Vue.js 使用Nuxt动态获取和编译模板,vue.js,nuxt.js,Vue.js,Nuxt.js,我想从远程获取一个svg,并通过编译将其激活。我说的“生活化”是指按类选择它的一些元素,并动态地向其中添加一个组件列表 现在我只使用,我的组件如下所示: data() { return { svg: '', } }, async created() { let res = await axios.get(mySvgSrc) this.svg = res.data } 但这不允许我通过插入带有vue绑定的元素来实现它 因此,我希望使用动态组件,如,因此在获取svg后,使用
,我的组件如下所示:
data() {
return {
svg: '',
}
},
async created() {
let res = await axios.get(mySvgSrc)
this.svg = res.data
}
但这不允许我通过插入带有vue绑定的元素来实现它
因此,我希望使用动态组件,如
,因此在获取svg后,使用结果作为模板。例如
但是,nuxt一直抱怨它无法编译它:
[Vue warn]:您正在使用仅运行时版本的Vue,其中
模板编译器不可用。或者预先编译模板
转换为渲染函数,或使用包含的编译器生成
我该怎么办
1) 在获取svg(字符串)模板后,如何将其转换为渲染函数
2) 是否使用编译器附带的版本?(当然不是,但如果是这样:这是如何工作的?)
我觉得我需要选择2)才能做选择1)
编辑
刚刚发现,不确定这是否是vue的方式,尽管 您需要更改Vue构建。 添加此字符串:
config.resolve.alias['vue'] = 'vue/dist/vue.common'
到nuxt.config.js
在这里:
您需要更改Vue构建。 添加此字符串:
config.resolve.alias['vue'] = 'vue/dist/vue.common'
到nuxt.config.js
在这里:
为什么这样做有效?什么是
config.resolve.alias
和vue/dist/vue.common
?您可以在这里了解它:为什么这样做?什么是config.resolve.alias
和vue/dist/vue.common
build: {
/*
** You can extend webpack config here
*/
extend(config, ctx) {
config.resolve.alias['vue'] = 'vue/dist/vue.common'