4

hello guys i'm new to vue js and i'm trying to pass paramenters to a specific router this should happen when i click on a card research and then it will redirect to the research details component called actions-log but when i call this router via

this.$router.push({ name: "actions-log", params: { Id: "3" } })

it gives me an error in the console says:

Uncaught (in promise) Error: No match for {"name":"3","params":{}}

my function that redirects from the research to the research details

the actions-log router

my index.js routes configurations

the error in the browser console

so can any one help me with that error please......

tony19
  • 125,647
  • 18
  • 229
  • 307
nerween
  • 41
  • 1
  • 7
  • That is how I do it, too. Weird is, that he thinks that "3" is the name. ... have not used params in capital. But I would not think, that it makes a difference. ... It could be the dash in actions-log. Sometime dashed names cause some errors in some places in Vue. – Ehrlich_Bachman Feb 03 '22 at 14:12
  • @Ehrlich_Bachman no not working... – nerween Feb 03 '22 at 19:36

2 Answers2

1

You can use path

const routeId = 3

this.$router.push({ path: `/actions-log/${routeId}` })
Rotiken Gisa
  • 380
  • 2
  • 12
  • nothing changes, it gives me the exact same error the rare thing is even when i put the link http://localhost:8080/actions-log/3 int the url tab it shows the same error. – nerween Feb 03 '22 at 19:35
0

i figured out what's happening i have a component called pageTitle this component is included by every other component i use it to make the breadcrumb using the:

this.$route.fullPath

then spliting it and looping the values with :

<li><router-link></router-link></li>

to make the breadcrumbs links but the fullPath prop of the vue router it returns the params too so through the loop in:

<router-link :to="{ name: {path} }">{{ path }}</router-link>

vue checks if the router is exists with the given name, for example when i put /actions-log/3 as params int the url it will be set in the :to attribute becuase of this behavios it's launch that exception;

so i think i solved the problems in the following computed fuction : function to get the full path then split it and uses the values to create a breadCrumbs

the loop in the template

i don't know if someone has a better idea to create a breadCrumbs in vue... anyway thank you so much for helping me to resolve this problem.

nerween
  • 41
  • 1
  • 7