[Vue warn]: You may have an infinite update loop in a component render function.とは?

この記事からわかること

  • [Vue警告]:コンポーネントのレンダリング関数に無限の更新ループがある可能性があります。の解決法
  • [Vue warn]: You may have an infinite update loop in a component render function.の原因
  • Vue.jsで起きたエラー解決法

index

[open]

\ アプリをリリースしました /

みんなの誕生日

友達や家族の誕生日をメモ!通知も届く-みんなの誕生日-

posted withアプリーチ

[Vue warn]: You may have an infinite update loop in a component render function. の原因とは?

Vue.jsでアプリを開発中以下のようなエラーが発生しました。

[Vue warn]: You may have an infinite update loop in a component render function.

[Vue警告]:コンポーネントのレンダリング関数に無限の更新ループがある可能性があります。

どうやらこれはレンダリング(コードをもとにWebページを構成する)が無限に行われる可能性がある際に起きるエラーのようです。

Vue.jsではv-forで回してる中にdataを2回更新するような処理がある時に発生しました。

Vue.jsの仕様でv-forループ中にdataを2回更新できない

Vue.jsではv-forのループの中でdataを2回更新することができないようです。例えば以下のようにループされている数字が3の時だけthreetrueにしたいとしても無限ループエラーとなってしまいます。(以下コードは何の意味もないコードですが...)

<template>
<div>
    <div v-for="num in number" v-cloak>
        <p>{{  num  }}</p>
        <p>{{ judge(num) }}</p>
        <p v-if="three">3だよ</p>
    </div>
</div>
</template>

<script>

export default {
    data() {
        return {
            number:[1,2,3,4,5],
            three:false
        };
    },
    methods: {
    // ここがループ中に数回行われ2回threeの中身が入れ替わったタイミングでエラーになる
    judge(num) {
        if(num === 3){
            this.three = true;
        }else{
            this.three = false;
        }
    }
    },
};
</script>

まだまだ勉強中ですので間違っている点や至らぬ点がありましたら教えていただけると助かります。

ご覧いただきありがとうございました。

searchbox

スポンサー

ProFile

ame

趣味:読書,プログラミング学習,サイト制作,ブログ

IT嫌いを克服するためにITパスを取得しようと勉強してからサイト制作が趣味に変わりました笑
今はCMSを使わずこのサイトを完全自作でサイト運営中〜

New Article

index