回答編集履歴

1 補足

karamarimo

karamarimo score 2398

2018/11/14 12:31  投稿

`created()` にて postsCategories のリクエストを行っているわけですが、それは非同期処理なので、その結果が `mounted()` までに取得できているという保証がありません。そのため、
```js
 mounted() {
   const cat = this.$store.state.posts.postsCategories;
   console.log(cat);
   for (var value in cat) {
     this.options.push(value);
   }
 },
```
にて`this.$store.state.posts.postsCategories`は`null`になっているのではないかと思われます。
にて`this.$store.state.posts.postsCategories`は`null`になっているのではないかと思われます。
ではどうやって postsCategories が取得できたタイミングで `this.options` をセットするかという話になりますが、せっかく Vue を使っているので `computed` を使って postsCategories から options を計算するようにすれば簡単に実現できます。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る