para un proyecto escolar, tengo que crear una aplicación vue js.
Utilicé emit y :v-on para intercambiar datos y activar métodos desde el componente secundario y ¡funciona muy bien! Ahora quiero hacer lo mismo desde un componente secundario, eso es un vue. Eso significa que es un componente que muestra el enrutador.
aquí está el componente hijo:
methods: { logout () { console.log("logout child") this.$emit('logoutUser', this.user) } },y la aplicación.vue:
<router-view v-if="this.user.isConnected && this.user.username != ''" :userProp="user" v-on:logout="logoutUser"></router-view> [...] logoutUser(user) { console.log("logout App.vue", user) }Obtuve el registro del niño: "cerrar sesión del niño", pero no puedo acceder al método logoutUser en App.vue... el registro "cerrar sesión de App.vue" nunca se muestra...
¿Sabes dónde cometí un error? soy bastante novato
¡Gracias!
Debe cambiar su v-on:logout en el elemento de vista del enrutador a v-on:logoutUser , el v-on debe tener el mismo valor que tiene $emit. También podría acortar un poco su código usando @ en lugar de v-on: (así que @logoutUser="logoutUser")