Окно браузера не перезагружается с помощью window.location? Проблема с роутером?
Я использую библиотеку Vue Multiselect в отдельном файловом компоненте и выполняю запрос GET для заполнения элемента Multiselect. Когда пользователь выбирает элемент из списка, мне нужно перенести его на новую страницу. Обработчик событий в мультиселекте добавит NAS_ID
на URL страницы, как если бы он выбрал ссылку на странице.
Во время моего локального тестирования это работало хорошо. Однако после развертывания кода на удаленном сервере страница не будет перенаправлять пользователя. В окне браузера я вижу, что URL изменится, но браузер не перезагружается, как в моем локальном тесте. Таким образом, я должен вручную перезагрузить браузер, чтобы он работал.
Кто-нибудь знает, что я могу сделать, чтобы исправить, чтобы он автоматически загружал страницу?
Вот мои настройки:
apiService.getAll()
захватывает данные как это:
[
{
"NAS_ID": 100010,
"Name": "Aeration Basin",
"Geometry Extracted": "S"
},
{
"NAS_ID": 100202,
"Name": "Aerial Farm",
"Geometry Extracted": "P, S"
}
]
Составная часть
TopicJump.vue
:
<template>
<multiselect
v-model='value'
:options='topics'
:loading='isLoading'
:selectLabel='selectLabel'
track-by='NAS_ID'
label='Name'
placeholder='Select or Search for a Topic'
class='multiselect'
@select='goToLink'> <--- HERE IS THE SELECT HANDLER
<template slot='singleLabel' slot-scope='{ option }'>
<strong>Jumping to {{ option.Name }}</strong>
</template>
</multiselect>
</template>
<script>
import Multiselect from "vue-multiselect";
import axios from "axios";
import apiService from "@/apiService.js";
export default {
name: "TopicJump",
components: { Multiselect },
data() {
return {
value: null,
topics: [],
isLoading: true,
selectLabel: ""
};
},
created() {
this.getTopics();
},
methods: {
getTopics() {
apiService
.getAll()
.then(response => {
this.isLoading = false;
this.topics = response.data;
});
},
goToLink(option) {
window.location.href =
"https://example.com/#/content/" + `${option.NAS_ID}`;
}
}
};
</script>
1 ответ
Оказалось, мне нужно было добавить ключ к компоненту вида маршрутизатора.