Vue: Los métodos personalizados a través de vue-class-component no se reconocen con $ref

Creado en 23 ene. 2017  ·  3Comentarios  ·  Fuente: vuejs/vue

Hola a todos,

Tengo un mensaje de error como este:

error TS2339: Property 'show' does not exist on type 'Element | Vue | Vue[] | Element[]'

Apunta a una línea como esta:

this.$refs['myDialog'].show()

Este show es un método implementado en TypeScript usando vue-class-component. Está en una clase que extiende Vue. Localicé la línea en ./types/vue.d.ts aquí .

Supongo que debería modificarse usando genéricos como este:

readonly $refs: { [key: string]: [V extends Vue] | Element | Array<V extends Vue> | Array<Element>};

Pero no funciona solo haciendo eso.

¿Alguien sabe cómo hacerlo bien?

¡Gracias!

Comentario más útil

O necesitas lanzarlo <YourComonent>this.$refs o cosificar $refs .
https://github.com/HerringtonDarkholme/av-ts/wiki/FAQ#2 -propiedad-reificación

Todos 3 comentarios

O necesitas lanzarlo <YourComonent>this.$refs o cosificar $refs .
https://github.com/HerringtonDarkholme/av-ts/wiki/FAQ#2 -propiedad-reificación

su descripción no me deja saber cómo solucionar este problema. mostrar la respuesta paso a paso, por favor.

realmente confundido acerca de ts + vue

¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

gkiely picture gkiely  ·  3Comentarios

seemsindie picture seemsindie  ·  3Comentarios

paceband picture paceband  ·  3Comentarios

bdedardel picture bdedardel  ·  3Comentarios

bfis picture bfis  ·  3Comentarios