我從服務(wù)器接收多個(gè) json 文件。它們都可以根據(jù)年份(2018、2019 和 2020)在不同的 url 上訪問。我將這些年預(yù)填充到下拉列表中,但現(xiàn)在我想在每次更改值(?year=2018、?year=2019 或 ?year=2020)時(shí)使用 axios 調(diào)用 get 調(diào)用。我還有另一個(gè)下拉列表,它預(yù)先填充了 ID,但不知道如何將某個(gè) ID 附加到選定的年份。這些下拉列表充當(dāng)下面呈現(xiàn)的表格的過濾器。所以更清楚的是,當(dāng)我重新加載時(shí),我會(huì)像這樣觸發(fā)當(dāng)前年份的 get 調(diào)用:baseurl?year=2019,通過這個(gè)選擇,我可以獲得所有數(shù)據(jù),但是如果我選擇一個(gè) ID,這個(gè) ID 需要添加到 url像這樣:baseurl?year=2019?id=0我目前的代碼:data() { return { year:[], id: 0, }},computed: { axiosParams(){ const params = new URLSearchParams(); params.append('year', this.year); return params; }, //this returns my current year year() { var now = new Date() var nowy = now.getFullYear() return nowy}, //this method makes sure that the dropdown is always preffiled //with following years - eg. next year I only need 2019, 2020 and //2021 years() { var yearsArray = [] var now = new Date() for (let i = -1; i < 2; i++) { var nowy = now.getFullYear() + i yearsArray.push(nowy) } return yearsArray },},methods: { getYears: function() { axios.get('myurl',{ params : this.axiosParams } }).then((response) => { this.year = response.data; this.table = response.data; }) }, getId: function() { axios.get('myurl',{ params : { year: this.year, id : this.id } } }).then((response) => { this.id = response.data; this.table = response.data; }) },},created: { this.getYears(); this.getId();}我的 HTML:<select v-model="year"> <option v-model="yearsArray" v-for="year in years">{{year}} . </option></select><select v-model="id"><option v-for="item in id">{{item}}</option> . </select>謝謝!
Axios 在選擇時(shí)觸發(fā)調(diào)用
慕田峪9158850
2021-06-10 18:46:50