ネイティブのJavaScriptの場合

ネイティブのJavaScriptと全く同じように書く場合はこうなりますが、これではnot definedエラーが出てしまいます。

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

解決方法

解決方法はとても単純です。
Vue.jsの場合は、宣言したメソッドがVueインスタンス上にあるため、thisを使って他のメソッドを呼び出します。

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

SNSでシェアする: