Окно браузера не перезагружается с помощью window.location?Проблема с роутером? - PullRequest
0 голосов
/ 12 февраля 2019

Я использую библиотеку 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 Ответ

0 голосов
/ 13 февраля 2019

Оказалось, мне нужно было добавить ключ к компоненту вида маршрутизатора.

...