Necesito volver a cargar la página cada vez que se presionan diferentes botones, mientras envío una cadena a la misma página para que en created()
tome esa cadena y envíe un HTTP Get a mi base de datos.
Actualmente tengo lo siguiente:
export default { data(){ return{ events: [], formData:{ sportType: 'Ténis' } } }, created(){ //Do something here to get the value sent from the reloading axios.get(`http://localhost:8001/evento`, {headers: {sportType: this.formData.sportType}}) .then((response)=>{ this.events = response.events },(error) =>{ console.log(error); }); }, pickSport(item){ }
La función pickSport()
se llama cada vez que se presionan los botones y cada uno envía un valor a esta función que es una cadena. La idea ahora es poder recargar la página cuando se llama a esta función, mientras se envía este item
a la página recargada, para poder actualizar el valor de sportType
. Lo intenté:
pickDesporto(item){ this.$router.push({ path: '/betting', params: item }); }
Pero sin éxito, ya que me sigue dando un error de NavigationDuplicated. ¿Como puedo resolver esto?
Hay muchas maneras de hacer esto. Es posible que desee utilizar Watch: {} para realizar un seguimiento de ciertos parámetros. Se activará una vez que cambie el parámetro y podrá volver a renderizar la misma página con un nuevo parámetro. También hay una forma llamada vinculación de teclas, pero debe vincular la clave al componente. Yo personalmente sugiero este porque será fácil de entender.