У меня есть приложение VueJs и передача вызовов API с использованием AXIOS . В рамках текущего сценария пользователь может нажать кнопку, которая выполнит функцию и отобразит список всех уникальных производителей. Внутри списка назначена кнопка, которая должна позволять пользователю видеть все модели под производителем. На данный момент я не уверен, как подключиться к функциям, поэтому при нажатии на один объект он вернет пользователю представление фильтра, в котором будут показаны модели, назначенные производителю.
Ниже я отобразил свой код
VueJs
<div v-for="(manufacturerResponse) in manufacturerResponse ">
<p> <b>Manufacturer ID {{manufacturerResponse.manufacturerId}} </b>
<b-btn variant="warning" v-on:click="show(); getModels(response.manufactuerId);">View Models</b-btn>
</p>
</div>
AXIOS - getManufacturer, который отображает только уникальных производителей
getManufacturers () {
AXIOS.get(`/url/`)
.then(response => {
console.log(this.manufacturerResponse)
this.response = response.data
this.manufacturerResponse = []
response.data.forEach(item => {
if (!this.manufacturerResponse.some(fltr => {
return item.manufacturerId == fltr.manufacturerId
})) {
this.manufacturerResponse.push(item);
}
});
})
},
AXIOS - getModel, которая отображает модели в разделе Производитель
getModels () {
AXIOS.get(`/url/`)
.then(response => {
const id = 0;
this.testResponse = response.data.filter (kp6 => kp6.manufacturerId === this.manufacturerResponse[id].manufacturerId );
console.log(this.testResponse)
})
},
Если это поможет, также добавил пример того, как ответ появляется в простом массиве
[
{"id":1,"manufacturerId":1,"model":"Focus"},
{"id":2,"manufacturerId":1,"model":"Transit"},
{"id":3,"manufacturerId":2,"model":"Clio"},
{"id":4,"manufacturerId":3,"model":"Niva"},
{"id":5,"manufacturerId":3,"model":"Yaris"},
]