Vue3 が初期化されると、親コンポーネントは子コンポーネントに値を渡しますが、子コンポーネントは値を取得できません。

        最近のプロジェクト開発は vue3 との正式な接触とも言えますが、親コンポーネントは子コンポーネントに値を渡しますが、子コンポーネントはその値を取得できないなど、使用過程で多くの落とし穴に遭遇しました。 onMounted で、配列が reactive を使用して定義されており、値を割り当てることができないなど。

1. 親から子へ初期化を渡す際に値が取得できない問題の解決方法。

        まず、理由を分析します。子コンポーネントの DOM が最初にレンダリングされ、次に親コンポーネントがレンダリングされますが、親コンポーネントが値を取得した時点で、子コンポーネントはすでにレンダリングされているため、子コンポーネントが初期化中に値を取得できない場合は、その値を渡してデータが取得できたかどうかを判断してから、子コンポーネントをレンダリングすることでこの問題を解決できます。

2. reactive を使用して配列を定義すると代入ができない問題の解決方法。

        1. 方法 1: ref を使用して定義できます。

        2. 方法 2: let params = reactive({

                                          データ:[]              

                                }) 

        3. 方法 3: let appData = [...data] を介して

        値を割り当てることができない理由は、reactive で使用される Object.assign() がデータの浅いコピーを実行するため、データに値を割り当てることができなくなるためです。

おすすめ

転載: blog.csdn.net/qq_43474235/article/details/130794584