親コンポーネントでdata属性のプロパティに配列を代入。
その後、props経由で子コンポーネントにその配列を渡しているのですが、developer toolでログを確認すると{ob: observer}という謎の値に変わっており、更にそのobserverに対してforeachなどしても、値を取り出せません。
修正版
//edit.vue <template> <v-app id="edit"> <Search :categories="categories"></Search> </v-app> </template> <script> export default{ data: function() { return{ categories: [], } }, beforeCreate: 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: Array, default: [] }, mounted: function(){ console.log(this.categories); this.categories.forEach((value) => { console.log(value.name); this.selected.categories.push({ id: value.id, name:value.name }) } }
このobserverなるオブジェクト自体には[{id=>1,name=>"aa"}]
という親コンポーネントで代入した値が入っているみたいなのですが、
その後foreachで展開しようとすると、consoleにログが表示されません。
Arrayオブジェクトではないので当然かもしれませんが、どうしたらobserverからこのidとnameを取り出せるでしょうか?
後そもそも何故、Arrayで渡したオブジェクトがこの様なobserverというオブジェクトになってしまうのでしょうか?
よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/05/24 03:32
2021/05/24 04:17 編集
2021/05/24 09:21