Vue JS在元素中加载动态组件

时间:2020-07-15 14:46:24

标签: vue.js components mount

我有以下代码:

let templateName = '#' + className + 'Properties';
const vue2 = {
               template: templateName,
               el: "#app2"
             };
var vm = new Vue(vue2).$mount(); 

每次,变量className将具有不同的值,因此模板每次都会不同。现在,一旦我第一次安装该组件,它就可以工作,但是即使className不同,也总是安装相同的模板。

请指导

1 个答案:

答案 0 :(得分:0)

我如下解决了它:

                    if (null !== vm) {
                        vm.$destroy();
                        vm.$el.remove()
                        vm = null
                    }

                    const vueContainer = document.createElement('div');
                    vueContainer.setAttribute("id", "app9");
                    $("#app2").append(vueContainer);                    

                    let templateName = '#' + className + 'Properties';
                    const vue2 = {
                        template: templateName,
                        el: "#app9"
                    };

                    vm = (new (Vue.extend(vue2))).$mount(vueContainer)