Vue
1<template> 2 <div id="app"> 3 <button v-on:click="call_api()">表示する</button> 4 <div v-for="user in users" :key="user.id"> 5 <span><b>リスト:{{ user.list1 | moment }} </b></span> 6 </div> 7 </div> 8</template> 9 10<script> 11import axios from 'axios'; 12import moment from 'moment'; 13 14export default { 15 16 data() { 17 return { 18 users: [], 19 20 }; 21 }, 22 23 24 methods:{ 25 call_api: function() { 26 this.error_message = ""; 27 axios.get('https://api.****/json',{ 28 params:{ 29 ****: ****, 30 ****: ****, 31 date: ****, 32 } 33 }) 34 .then(response => (this.users = response.data)) 35 .catch(error => { 36 console.log(error) 37 this.errored = true; 38 this.error_message = error; 39 40 }) 41 42 } 43 }, 44 filters: { 45 moment: function (data) { 46 return moment.utc(data, 'hh:mm:ss a').local().format('LTS'); 47 } 48 } 49} 50</script>
JSON
1 { 2 "results": 3 { 4 "list1":"7:27:02 AM", 5 "list2":"5:05:55 PM", 6 "list3":"9:38:53", 7 "list4":"5:05:55 PM", 8 }, 9 "status":"OK" 10 } 11
###実現したいこと
リスト:{{ user.list1 }}
Vueインスタンスの要素を呼び出し時に、「リスト:"7:27:02 AM"」のみを表示させたい。
発生している問題・エラーメッセージ
Vue CLIでaxiosを使ってAPIから取得したJSONファイル内の特定要素を表示する際に、
{{ user.list1 }}
Vueインスタンスの要素を呼び出したのですが、JSONファイル内の「"status":"OK"」が時刻として変換されて、アプリ上では「リスト:Invalid date」と表示されてしまいます。
この「"status":"OK"」、「リスト:Invalid date」という要素を削除する方法がわかりません。もしくは表示しないようにする方法がわかりません。
試したこと
調べてみると、配列の要素削除はsplice()を使うという記事がありましたが、イマイチ使い方がわからず、特定要素を削除できませんでした。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。