<template>
<div>
    {{$route.params}}
    <button v-on:click="test">dasda</button>
</div>
</template>

<script>
export default{
    methods: {
        test: () => {
        var test = this.$route;
           console.dir(test);
        }
    },
    created: () => {
    console.log(this.$route);
   }
}

</script>

Puedo acceder a $route en el enlace, se mostrará el parámetro correcto, pero si intento acceder al objeto $route, no está definido. Estoy usando Webpack y con las herramientas de desarrollo de vuejs se encuentra el objeto $route, pero no tengo idea de cómo acceder a él. Si imprimo directamente el objeto $route, también estará indefinido.

0
Sven 11 dic. 2016 a las 18:52

1 respuesta

La mejor respuesta

No utilice las funciones de flecha en sus componentes. Deben estar vinculados al contexto del componente.

En su lugar, use los métodos adecuados:

export default {
    methods: {
        test () {
            var test = this.$route;

            console.dir(test);
        },
    },
    created () {
        console.log(this.$route);
    },
};
0
Joseph Silber 11 dic. 2016 a las 19:03