メインコンテンツへスキップ
ブログ一覧に戻る
Vue

Vue.jsのメソッド内で別のメソッドを呼び出す

2 min read
大場 正樹

大場 正樹

代表取締役・WordPress運用スペシャリスト

目次

Vue.jsのメソッド内で別のメソッドを呼び出す

ネイティブのJavaScriptと同じ書き方ではエラーになる

ネイティブのJavaScriptと同じ感覚で関数名だけで呼び出すと、not definedエラーが発生します。

methods: {
  hoge: function() {
    hogehoge(); // not defined
  },
  hogehoge: function () {
    console.log('Hello');
  }
}

Options APIでの解決方法(Vue 2 / Vue 3共通)

Vue.jsのOptions APIでは、宣言したメソッドはVueインスタンス上に存在するため、thisを使って呼び出します。この書き方はVue 2でもVue 3でも同じです。

methods: {
  hoge() {
    this.hogehoge(); // Hello
  },
  hogehoge() {
    console.log('Hello');
  }
}

Composition APIでの書き方(Vue 3)

Vue 3のComposition API(<script setup>)では、関数は通常のJavaScriptと同じスコープに定義されるため、thisを使わずにそのまま呼び出せます。

<script setup>
function hoge() {
  hogehoge(); // Hello
}

function hogehoge() {
  console.log('Hello');
}
</script>

Options APIで必要だったthisが不要になり、ネイティブのJavaScriptに近い書き方ができるのがComposition APIの特徴のひとつです。

この記事のような課題でお困りですか?

WordPressの運用・保守について、エンジニアに直接相談できます。

無料相談はこちら

WordPress運用でお困りではありませんか?

セキュリティ対策、パフォーマンス改善、緊急時の対応まで。WordPress専門15年超のエンジニアが直接サポートします。