[ Vue ] Vue インスタンス内であればどこでも呼べるメソッドを実装

下記は任意の Vue インスタンス, vm に対して vm.$spinner で Spinner プロパティにアクセスできる例です。

const Spinner = {
  show(){
    // show spinner
  }
  hide(){
    // hide spinner
  }
}

class CustomPlugin {
  static instantiateProperties(opts){
    return {
      $spinner: {
        get(){
          return Spinner;
        }
      }
    };
  }

  static register(){
    Object.defineProperties(Vue.prototype,this.instantiateProperties({}))
  }
}

export default CustomPlugin;

Related Contents

Pickup Contents