@Tereverda

VUE 3 Router не видит GET параметры?

drfg

url с запросом https://app.ronbel.ru/poisk_korobok?length=200&wid...
на VUE 2 все работало нормально

<script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
    <script src="https://unpkg.com/vue-router@4/dist/vue-router.global.js"></script>

const app = Vue.createApp({
  data () {
    return {
      // Данные из формы в мм.
      length: this.$route.query.length, // пусто, весь массив query
    }
  }, 
  // Подумал, что во VUE 2 роутер добавлялся как свойство, а здесь в конце после создания объекта
  mounted: function () {
      // тоже все пусто
      this.length = this.$route.query.length;
      this.width = this.$route.query.width;
      this.height = this.$route.query.height;
    }
  },
});

// VueRouter
const router = VueRouter.createRouter({
  history: VueRouter.createWebHistory(), // раньше был мод хистори, вроде бы это его новый аналог
  routes: []
});

app.use(router);
app.mount('#app');
  • Вопрос задан
  • 68 просмотров
Решения вопроса 1
@Tereverda Автор вопроса
Решение https://github.com/vuejs/router/discussions/2002
router.isReady().then(() => app.mount('#app'))
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Aetae
@Aetae Куратор тега Vue.js
Тлен
Видит, но не сразу:
this.$watch(() => this.$route, (x) => {
  this.length = this.$route.query.length;
  this.width = this.$route.query.width;
  this.height = this.$route.query.height;
}, {deep: true, immediate: true});

ИМХО, это баг и надо бы завести issue им на github.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы