Vue动态异步组件使用javascript设置道具

时间:2019-05-22 14:27:57

标签: javascript vue.js vuejs2

我有一些类似于下面的代码,其中我动态地导入一个组件,然后我想为其设置一些道具。 我没有<component></component> html标记,因为我正在将该组件传递给第三方插件,该插件将在其自己的组件内显示该组件。

以下代码有效,但随后我开始在控制台中看到以下vue警告错误:

option "propsData" can only be used during instance creation with the `new` keyword.

设置变量的结构:

const settings = {
    props:{
        title: "new title"
    }
}

组件加载功能:

function Load(compName, settings){
    import("@/"+ compName +".vue").then((mod)=>{                
            let mycomponent = mod.default;                                 
            const props = settings.props;

            mycomponent.propsData = {...props});

            //3rd party package needs this format
            let template = function(){
                return {template : mycomponent};
            }
            //not shown - code that passes the template variable to the 3rd party package
    });
}

还有其他方法可以将道具放入组件中吗?还是可以忽略此警告?

0 个答案:

没有答案