プロパティまたはメソッド「foo」はインスタンスで定義されていませんが、レンダリング中に参照されます。このプロパティがリアクティブであることを確認してください

フェルナンド・セボラダ・アウセホ

私はVueフレームワークを初めて使用し、コンポーネントを使用していくつかの構成例を作成しようとしていますが、コードを実行しようとすると問題が発生します。

"Property or method "icons" is not defined on the instance but referenced during render. Make sure that this property is reactive"

テンプレートには次のものがあります。

<template>
  <div>
    <h1>Welcome a la nueva pagina</h1>
    <div v-for="icon in icons">{‌{ icon }}</div>
  </div>
</template>

Footer.tsというファイルには、次のコードがあります。

import {Component, Vue} from "vue-property-decorator";
import Template from './Footer.vue';

@Component({
    mixins: [Template]
})
export default class Footer extends Vue {
    public icons!: string[];

    constructor() {
        super();
        this.icons = [
            'fab fa-facebook',
            'fab fa-twitter',
            'fab fa-google-plus',
            'fab fa-linkedin',
            'fab fa-instagram'
        ];

        console.log('Footer renderizado');
        this.icons.map((icon) => console.log(icon));
    }
}

最後にApp.vueで私は持っています:

<template>
  <div>
    <h1>Pagina principal</h1>
    <footer></footer>
  </div>
</template>

<script lang="ts">
  import {Component, Vue} from 'vue-property-decorator';
  import Footer from '@/component/Footer';

  @Component({
      components: {
          Footer
      }
  })
  export default class App extends Vue {
      mounted() {
          console.log("ensamblado terminado");
      }
  }
</script>

Footer.tsの場合、コンストラクターは呼び出されません。

ありがとう

aBiscuit

このエラーは、変数またはメソッドがコンポーネントのインスタンスで定義されておらず、そのテンプレートの側で参照されている場合に発生します。

上記のコード例では、変数iconsforループで使用されていますが、コンポーネントのデータでは宣言されていません。

vue-property-decoratorsライブラリのドキュメントを確認すると、constructorVueコンポーネント内メソッドの使用例は表示されませんコンポーネントのプロパティを宣言する有効な方法ではないためです。

代わりに、dataプロパティはインスタンス上で直接宣言する必要があります。

export default class Footer extends Vue {
  icons: string[] = [
    'fab fa-facebook',
    'fab fa-twitter',
    'fab fa-google-plus',
    'fab fa-linkedin',
    'fab fa-instagram'
    ]
  }
}

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

Related 関連記事

ホットタグ

アーカイブ