Axios.get вызов для лет в качестве значения - PullRequest
0 голосов
/ 25 мая 2019

Я пытаюсь получить файл json с сервера. Конечная точка имеет параметр года с номером текущего года в качестве значения, например:? Year = 2019. Мне также нужно получить год до этого и в следующем году. Поэтому, если кто-то введет данные в бэкэнд для 2018, 2019 или 2020 года, я смогу получить их. Проблема в том, что я не могу жестко запрограммировать годы, так как в следующем году мне понадобятся 2019, 2020 и 2021 и так далее:)

В настоящее время у меня довольно простые настройки, но я пробовал все виды вещей, которые, конечно, не работают.

data() {
 return {
  year:[]
 }
},

computed: {
 axiosParams(){
  const params = new URLSearchParams();
  params.append('year', this.year);
  return params;
 }
},

getYears: function() {
    axios.get('myurl',{
     params : this.axiosParams
    }
    }).then((response) => {
      this.year = response.data;
    })
}

Если я жестко закодирую его как год: «2019» в данных, все работает нормально. Я новичок в Vue и Axios, поэтому любая помощь будет принята с благодарностью.

1 Ответ

0 голосов
/ 26 мая 2019

Вы можете просто использовать небольшую магию javascript, чтобы получить этот год или массив лет, которые вы хотите, например, так:

  year() {
      var now = new Date()
      var nowy = now.getFullYear()

      return nowy
    },

Это вернет 2019

  years() {
      var yearsArray = []
      var now = new Date()
      for (let i = -1; i < 2; i++) {
        var nowy = now.getFullYear() + i
        yearsArray.push(nowy)
      }
      return yearsArray
    },

Это вернет массив, подобный этому: [2018, 2019, 2020]

Тогда это зависит от того, как вы используете это, вы можете отправить либо в этом году или массив к вашему API.

...