環境: vue2.6系
以下の様にedit.vueでapiにaxiosでrequestを送り、データの処理が完了したらcategories
というプロパティに値をセットし、それを子コンポーネントのsearch.vueに渡しております。
しかし今のままであるとaxiosで通信している最中にSearch.vueをレンダリングをしている様で、
search.vueに渡ったcategories
がobserver
として表示され子側で値を取り出したり処理を行えません。
そこでedit.vueのaxiosでしっかり通信しきったら(dataを受け取ったら)Searchをレンダリングするといった処理を行いたいのですが、調べても良い方法が出てこなかったため、質問させていただきます。
どの様な処理を以下のコードに加えたら安全に子コンポーネントに値を渡せるでしょうか?
//edit.vue <template> <v-app id="edit"> <Search :categories="categories"></Search> </v-app> </template> <script> export default{ data: function() { return{ categories: [], } }, components: { Search }, mounted: function() { axios .get('http://localhost:3000//users/'+ id +'/edit.json') .then((response) => { response.data.categories.forEach((value) => { this.categories.push({ id: value.id, name:value.name }) } ); } } </script>
//search.vueの一部 props: { categories: [], }, mounted: function(){ console.log(this.categories); this.categories.forEach((value) => { console.log(value.name); this.selected.categories.push({ id: value.id, name:value.name }) } }
よろしくお願いします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/05/27 07:48
2021/05/31 00:38