Как запомнить последнее выбранное значение радио, чтобы, если я перейду на страницу 1 веб-сайта вперед, а затем вернусь назад, я мог установить переменную в запоминаемое значение - PullRequest
0 голосов
/ 05 апреля 2019

Как вы можете видеть из приведенного ниже кода, у меня 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));
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...