Замена данных ответа Axios - PullRequest
2 голосов
/ 15 марта 2019

Я пытаюсь изучить Axios и Vue с помощью Twitch API. Я извлекаю данные из этого API, и есть thumbnail_url , который предназначен для миниатюрных фотографий канала, но мне нужно изменить width и height этих данных, потому что они идут как это,

https://static-cdn.jtvnw.net/previews-ttv/live_user_shroud-{width}x{height}.jpg

И я пытался сделать так;

beforeMount(){
  helix.get('streams?language=en').then((response) => {
    for(var i=0; i < response.data.data.length; i++){
      response.data.data[i].thumbnail_url.replace("width", "40")
    }
    console.log(response.data.data)
  this.results = response.data.data
    })
    .catch(function (error) {
     console.log(error);
     });
},

На самом деле, я не понял, что это не работает. Я знаю, что есть момент, который я упустил. Если кто-то может мне помочь, было бы здорово И если это не правильный способ сделать это, каков правильный путь? Большое спасибо.

1 Ответ

6 голосов
/ 15 марта 2019

Вы должны использовать replace("{width}", "40"); вместо

var url = 'https://static-cdn.jtvnw.net/previews-ttv/live_user_shroud-{width}x{height}.jpg';
url = url.replace("{width}", "40");
url = url.replace("{height}", "60");
console.log(url);

В вашем коде измените это

var thumbnail_url = response.data.data[i].thumbnail_url;
thumbnail_url = thumbnail_url.replace("{width}", "40");
thumbnail_url = thumbnail_url.replace("{height}", "60");
response.data.data[i].thumbnail_url = thumbnail_url;

По мере того как вы комментируете, вы можете делать это и без переменной

response.data.data[i].thumbnail_url = response.data.data[i].thumbnail_url.replace("{width}", "40").replace("{height}", "60");
...