У меня есть компонент vue
, содержащий метод, метод содержит этот маршрутизатор pu sh, который пытается передать sh другой компонент vue
:
GetAnimal. vue:
...
this.$router.push({
name: "/viewanimal",
});
...
У меня есть эти сопоставления для маршрутизатора:
router. js:
{
path: "/viewanimal",
component: () => import('./views/DisplayAnimal.vue')
},
{
path: "/getanimal",
component: () => import('./views/GetAnimal.vue')
}
Однако, когда выполняется код внутри GetAnimal.vue
, я получаю это в консоли:
И меня перенаправляют на http://localhost:8080/
.
Я также пробовал
...
this.$router.push({
name: "viewanimal",
});
...
, но это тоже не работает.
EDIT :
Я пробовал : маршрутизатор. js:
{
path: "/viewanimal",
name: "viewanimal",
component: () => import('./views/DisplayAnimal.vue')
},
{
path: "/getanimal",
name: "getanimal",
component: () => import('./views/GetAnimal.vue')
}
GetAnimal. vue:
console.log("this.animal: " + JSON.stringify(this.animal)); //displays good JSON
this.$router.push({
name: "viewanimal",
params: this.animal
});
DisplayAnimal. vue:
created() {
console.log("animal param: " +
JSON.stringify(this.$route.params.animal)); //prints undefined
}
--- Кажется, параметр животного не был передан. Я не уверен, что это проблема в пути / имени маршрутизатора или в чем-то еще ---.
ОБНОВЛЕНИЕ :
Удалось заставить его работать. Это должно быть в GetAnimal.vue
:
this.$router.push({
name: "viewanimal",
params: {
animal: this.animal
}
});