やりたい事
以下の.jsonファイルから、categoryがcssのものだけを取り込み、表示させたい。
json
1{ 2 "article":[ 3 {"category":"js","date":"01/02/2020","id":1}, 4 {"category":"css","date":"01/02/2020","id":2}, 5 {"category":"js","date":"01/03/2020","id":3}, 6 {"category":"css","date":"01/04/2020","id":4}, 7 8 ] 9}
困っていること
表示の仕方はわかるのですが、jsonデータに対するfilterの使い方が分かりません。
①jsonデータをimportする。 ◯
②持ってきたjsonデータを整形 ❌
③整形したデータをreturnして、computedのShapingをv-forでまわす
(考え方はわかっていると思う)◯
vue
1<!-- 表示させるコード --> 2 <ul v-for="data in Shaping" :key="data.id"> 3 <li>{{data.date}},{{data.category}},{data.id}</li> 4 </ul> 5.... 6import articleData from "~/assets/json/article-data.json" 7 8 data(){ 9 return { 10 json_data:articleData.article 11 } 12 computed: { 13 Shaping(){ 14 let list = this.json_data; 15 list = list.filter(function (value,index){ 16 return value[index].category == "css"; 17 }) 18 return list; } 19 } 20 } 21}
このコードの結果、Cannot read property 'category' of undefined
というエラーが出てしまいます。
文法的な問題で、調べれば解決できるだろうと思われるかもしれませんが、
申し訳ありません。解決できず困っております。
お手数おかけして申し訳ないのですが、教えていただけないでしょうか
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/01/11 16:32