一般社団法人 全国個人事業主支援協会

COLUMN コラム

  • 【Vue3】watch式でNo overload matches this call.の対処法

Composition APIで以下のようなwatch式を書きました。

 

watch(useRoute().fullPath, (newValue) => {
console.log(newValue)
})

URLの変更を検知して処理を実行しようとしてます。

 

そしたら、eslintがuseRoute().fullPathの部分にエラーを吐きました。

 

No overload matches this call.
The last overload gave the following error.

 

あれ、なんだろうなぁ…。「引数は定義した通り設定してくれ」みたいなニュアンスっぽいですが…。

じゃあFunctionとして定義してvoidにすればいいんかな?

 

watch(() => useRoute().fullPath, (newValue) => {
console.log(newValue)
})

 

イケました。

でも、propsとして受け取った値を検知して処理を実行させようと、useRoute().fullPathの部分をprops.nameみたいにしてwatch式を書いたときは「() => {}」にしなくてもできたんですけどね。この違いはなんなんだろう…。

 

まぁ、追々学んでいこう…。

この記事をシェアする

  • Twitterでシェア
  • Facebookでシェア
  • LINEでシェア