Tengo que llamar a una función con parámetros pero no encontré una solución correcta para mi problema. NavigateTo debe pasar un valor de cadena a mi índice para cambiarlo y navegar al componente correcto (sin enrutador vue).
Inicio.js
Vue.component('Home', { props: ['visible','logged'], data: function (){ return{ } }, template: <a class="btn btn-primary display-4" on:click="NavigateTo(accedi)">Accedi</a>\n' (only the button that call the function,i will post the rest of the code only if necessary) methods:{ NavigateTo:function(destination){ this.$emit('transit-inner', destination); } } });Índice.js
<section id="Home" style="margin-top: 60px"> <Home v-bind:visible="visible" v-bind:logged="session_info" v-on:transit-inner="goto()"></Home> <script> new Vue({ el: '#Home', data:{ visible: routes.visible_home, session_info: routes.status_session }, methods:{ goto: function (destination){ alert(destination); } } }) </script> </section>Está utilizando un controlador de eventos en línea ( goto() ) en su plantilla:
<Home v-bind:visible="visible" v-bind:logged="session_info" v-on:transit-inner="goto()"></Home>Tienes dos opciones:
Uno, quita el ()
<Home v-bind:visible="visible" v-bind:logged="session_info" v-on:transit-inner="goto"></Home> O proporcione la variable especial $event si usa el controlador en línea
<Home v-bind:visible="visible" v-bind:logged="session_info" v-on:transit-inner="goto($event)"></Home>