Tech note

備忘録

Nuxtでinjectを利用して関数を共通化する

概要

injectを利用すると関数を共通化することが出来る。

環境

名称 Version
Node 14.10.1
Nuxt 2.14.5
Vue 2.6.12
TypeScript 3.9.7
Vuetify 2.3.10
nuxt-property-decorator 2.8.8

injectの利用方法

通化する関数を作成する

~/plugins/utils.ts

import { Plugin } from "@nuxt/types";

declare module "vue/types/vue" {
  interface Vue {
    $testInject(testBool: boolean): string;
  }
}

const testInject = (testBool: boolean): string => {
  return testBool ? "○" : "☓"
}

const utilsPlugin: Plugin = (context, inject) => {
  inject("testInject", testInject);
}

export default utilsPlugin;
nuxt.config.tsに読み込みを追加する
plugins: [
  { src: '~/plugins/utils.ts' }
]
使い方

this.$関数名で、実行する事が出来る。

this.$testInject(true);