Vue.jsを使っていると、以下のようなエラーにたまに出くわします。

Property or method "〇〇" is not defined on the instance but referenced during render. Make sure that this property is reactive, either in the data option, or for class-based components, by initializing the property.

意味(和訳):
プロパティまたはメソッド「〇〇」はインスタンス上で定義されていませんが、レンダリング中に参照されます。データ オプションまたはクラスベースのコンポーネントのいずれかで、プロパティを初期化して、このプロパティがリアクティブであることを確認します。

エラーの原因:
〇〇という、プロパティかメソッドがファイルの中で定義されてないよ。ってそのままが原因で起こってます。

結論(解決法)

大概は「data()内で〇〇を定義していない。」というパターンで起こるようです。

(Vue.js)
<script>
export default {
 
  data() {
      return {
        〇〇: "", // エラーになっている〇〇の部分をここで定義しているか確認。
    },
}

data()メソッド内で定義していないデータ(メソッドやプロパティ)をコンポーネント内で、{{ 〇〇 }}のようにして呼び出そうとするとエラーになるってことです。

なので呼び出したいデータがある場合は、このdata()の部分で定義してあげましょ。

(例)〇〇の部分が"name"

(Vue.js)
<script>
export default {
 
  data() {
      return {
          name: "ゆたんぽ", // {{ name }} とすることでここの内容が表示される
    },
}

これで、コンポーネント内で「name」というデータを使うことができるようになる。

<p> {{ name }} </p> のようにすることで「ゆたんぽ」が表示される。ということです。

ゆたんぽ

個人的には、Laravelと連絡させた際のタイパが多い・・・。

ぬこ先生

単純なタイプミスや、定義し忘れがほとんどじゃないかニャ?

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です