#Componente eliminado sigue escuchando por this.$root.$on
1 messages · Page 1 of 1 (latest)
La cuestión es que al dejar de renderizar un componente ( "writer") que tiene una escucha asociada a
this.$root.$on('event', ()=>console.log("hola"))
``` por ejemplo, cuando estamos renderizando otro componente diferente pero en enviamos el evento "event", el componente "writer" que dejo de renderizarse lo recibe y también lo ejecuta, sacando por consola en este caso el String "hola" y además si renderizamos 3 componentes "writer" y los dejamos de renderizar mas tarde y volvemos a emitir el evento "event", por consola como es de esperar recibimos 3 Strings de "hola"
Sobre el proyecto que tienes indicame si ya lo actualizaste y que pasos debo de seguir para ver que pasa
Okey, ahora cuando pueda pusheo el proyecto y te digo como acceder al error
Ok
Hola, perdón por la tardanza
Ya tengo actualizado el repo, para encontrar el fallo que digo hay que seguir esta ruta:
- Te logueas con
j@g.com
12345678
- vas a 'your profile'
- Haces click en post, pero recuerda cual es porque después vas a tener que hacer click en el mismo
- Una vez dentro del post con el editor abierto, le das a update (arriba a la derecha) y para que se actualize algo, añade una nueva tag por ejemplo, le das a add y después a save
(Los estilos hay que tocarlos xdd)
- Por consola aparecerán algunas líneas de código, y entre ellas una que dice "hola"
Después de esto, eres redirigido a tu perfil de nuevo, tendrías que editar de nuevo el mismo post añadiéndole otra tag si quieres por ejemplo y aquí es donde viene el problema:
Se muestran varias líneas de código por consola, pero esta vez en vez de 1 "hola", que era lo que tenia que salir, se muestran 2 "hola", el del componente que estas viendo antes y el que ahora no se ve y pero que es con el que editastes antes, y mientras más lo edites, más "hola" vas a tener
En el código, lo puedes encontrar en: resources/components/code/UpdateCode.vue
Método update():
update(){
//POST
axios.put('/api/post/code/'+this.post.idPost, {
'postName': this.postName,
'html':this.xml,
'css':this.css,
'js':this.js,
'script':this.post.script,
})
//TAGS
.then(()=>{
let data = {
tags:this.tags,
idPost:this.post.idPost,
}
axios.post('/api/tag/tag', data);
})
//Go to prpofile
.then(() => {
this.$router.push({name:'my-code'})
this.update = ()=>{ console.log("hola")};
})
.catch((err)=>{
console.log("Error save desde CreateCode.vue");
console.log(err)
this.errors = error.response.data.errors;
})
},
Se muestra "hola", porque cuando sale bien el update, digo que el metodo update() = console.log("hola")
En el caso de que no lo pusiera, se realizarían 2 peticiones o las equivalentes al numero de veces que hayas editado el post
hasta ahora lo he estado arreglando haciendo la chapucilla de this.update = ()=>{}, el "hola" ese es solo para debugear
Creo que mas o menos me he explicado, si tienes alguna duda dímelo, gracias!!
Ah por cierto, se me olvidaba, el fallo creo que esta aquí, que es cuando se llama a la función save, en mounted():
this.$root.$on('save', (tags)=>{
this.tags=tags;
this.update();
});
Reviso, dame chanse
Sisi, cuando puedas
Cuando hago login, no devuelve nada
La primera peticion devuelve mucha data, pero la segunda (o eso creo) devuelve Unauthenticated
deslogueate si puedes y vuelve a logearte
es un fallo que tiene cuando por ejemplo te logueas y apagas el pc o cierras el nav, a veces como que se buggea
se lo que le pasa, tengo que cambiar si esta logueado o no al sesionstorage en vez de en el local