创建新组件时,Vue丢失了原型和导入的文件

时间:2019-03-19 09:09:33

标签: vue.js

将Vue组件扩展到模态时,将生成一个新的Vue实例。这会导致丢失所有预先导入的助手/ Vuex商店等。

有没有办法将所有数据复制到新的扩展Vue组件?

为清楚起见,请看一下jsfiddle

它以警告的形式面对您。当您单击按钮时,将打开模态。但是,如果您查看我的代码,则应该触发另一个警报。但是$ hi()在其他Vue实例中不可用。

我创建了这样的组件:

const createComponent = (props) => {
    const wrapper = document.createElement('div');

    const Component = Vue.extend(MyComponent);

    return new Component({
        propsData: {
            props,
        },
    }).$mount(wrapper);
};

我正在使用SweetAlert作为模式。

所以我这样添加:

swal({
    content: createComponent(props).$el,
})

1 个答案:

答案 0 :(得分:0)

如果您移动直线

Vue.prototype.$hi = () => alert('hi');

上方

let component = new TestComponent().$mount(wrapper)

它将起作用。在定义之前,第一个组件引用了$hi()