我想要全局使用覆盖并改变默认的图标。我在源代码中看到,图标有一个插槽,但是当我将它作为插件使用时,如何注入我的自定义标记呢?

2020-10-22 22:18创建
共1个回答
NV
游客nvRbwh

当您将组件放置在模板中时,可以轻松地传递插槽。

当作为插件使用时,方法Show()创建同一个组件的一个新实例,并将其附加到beforeMount事件钩子上的文档体中。

https://github.com/ankurk91/vue-loading-overlay/raw/59ae65e9b23c50d4338b882f30903564d5f94bdc/src/js/api.js

import Vue from 'vue';
import Component from './Component.vue'

const LoadingProgrammatic = {
  show(options = {}) {
    const defaultOptions = {
      programmatic: true
    };
    const propsData = Object.assign(defaultOptions, options);
    const LoadingComponent = Vue.extend(Component);

    return new LoadingComponent({
      el: document.createElement('div'),
      propsData
    })
  }
};

export default LoadingProgrammatic;

所以你可以以你喜欢的任何方式使用组件。