背景
v-onでmethodを動作させる以下のようなmethodを書いていたら
<template>
<div>
<button v-on:click="submitMethod">
</div>
</template>
<script>
export default {
name: "Component",
method: {
submitMethod: function(){
// 何かの動作を記述。
}
},
// その他コード
}
</script>
以下のエラーでよく詰まったので解決法をメモする。
'Uncaught TypeError: Cannot read property 'apply' of undefined'
解決法
理由の多くは、「関数が定義されてない」ということが多い。
ただ、「いや、タイポもないはず!!」という人は以下のようになってることが多い。
// ダメな方
method: {
submitMethod: function(){
...
}
}
// 動く方
methods: {
submitMethod: function(){
...
}
}
そうmethods
が正しいのに、method
になってしまっている。
vueは、このエラーを実行時にしか教えてくれない。
しかもエラー文もUncaught TypeError: Cannot read property 'apply' of undefined
と全く関係なさげなメッセージである。
他の人も気をつけてね。