Как вы можете видеть из приведенного ниже кода, у меня type
по умолчанию установлено museum
, однако вы можете использовать переключатели для изменения значения type
на другое значение, которое вызывает наблюдателя на type
и делает запрос GET, который возвращает достопримечательности, принадлежащие этому type
. Затем вы можете выбрать любой объект для отправки на страницу, которая содержит всю информацию об этом объекте.
Теперь вот моя проблема. Когда я меняю тип переключателем, я получаю новый список достопримечательностей. Затем, если я нажму на прицел и затем решу использовать кнопку возврата, type
будет сброшено до museum
. Вот почему мне нужно каким-то образом вспомнить последнее выбранное значение радиосигнала, когда я проверяю определенный прицел, чтобы, когда я вернусь, я мог установить тип на него.
Соответствующая часть кода:
HTML используется для изменения значения type
<div>
<div class="radio">
<div>
<input type="radio" id="library" value="library" v-model="type">
<label for="library">Libraries</label>
</div>
<div>
<input type="radio" id="park" value="park" v-model="type">
<label for="park">Parks</label>
</div>
</div>
<div class='sights-list'>
<div class='sight' @click='selectSight(index)' v-for='(sight, index) in sights' v-if='sight.photos'>
<p class='sight-name'>{{ sight.name }}</p>
</div>
</div>
</div>
JavaScript / Вю
data(){
return {
sights: [],
username: this.$route.params.username,
city: this.$route.params.city,
lat: this.$route.params.lat,
lng: this.$route.params.lng,
type: 'museum',
range: 5000
}
},
methods: {
selectSight(index) {
const placeId = this.sights[index].place_id;
this.$router.push('/' + this.username + '/' + this.city + '/' + placeId)
}
},
watch: {
type: function () {
axios.get('/getSights/' + this.lat + '/' + this.lng + '/' + this.type + '/' + this.range)
.then(response => {
this.sights = response.data.result.results
}).catch((error) => console.log(error));
}
}