前提・実現したいこと
Vue.jsで検索機能を作成しています。
ステータスコードが500系の時に、「読み込みに失敗しました」等を描画するのにつまづいております。
発生している問題・エラーメッセージ
Vue.jsの実装に悩んでおります。
現状axios
を利用し、200系以外はステータスコードを吐く仕組みは、なんとか調べてできた段階です。
問題点は主に2点あると考えています。
methods:
に書く適切な形が正しくないと思われる。
template
内のv-if="xxxx"
にどのように繋げれば、描画することができるのか不明。
methods:
で200以外のステータスコードを着火とすれば、
v-if
で描画に繋げることができるのではないか
と考え試しておりますが、適切な実装手段がみえていない状態です。
該当のソースコード
search.vue
の一部抜粋
npmからaxiosをインストール済みです。
<template> <div class="SearchResults"> <div class="text-center mb-5 pb-5" v-if=" "> <figure><img src="./hoge.png"></figure> <h1>読み込みに失敗しました</h1> <p><a href="#">再読み込み</a></p> </div> </div> </template> <script> const axios = require('axios'); export default { methods: { //200以外はエラー SearchError () { axios.get('https://hoge/fuga').catch(function (error) { if (error.response) { console.log(error.response.status); } }); } } } </script>
試したこと
多くのサイトを参考にし、試行錯誤しましたがうまく描画されませんでした。
axios
を利用するだろうと推測し、ここまで進みましたが詰まってしまいました。
私の実力不足で理解が及ばす、的はずれな書き方をしていると思いますが、
どうぞお力をお貸していただければと思います。
主に参考にしたサイト
https://www.yoheim.net/blog.php?q=20170801
https://qiita.com/kimullaa/items/6e7bcc3779c32a383826
https://qiita.com/shisama/items/61cdcc09dc69fd8d3127