Vue: Les méthodes personnalisées via vue-class-component ne sont pas reconnues avec $ref

Créé le 23 janv. 2017  ·  3Commentaires  ·  Source: vuejs/vue

Salut tout le monde,

J'ai un message d'erreur comme celui-ci :

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

Il pointe vers une ligne comme celle-ci :

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

Ce show est une méthode implémentée dans TypeScript en utilisant vue-class-component. C'est dans une classe qui étend Vue. J'ai localisé la ligne dans ./types/vue.d.ts ici .

Je suppose qu'il devrait être modifié en utilisant des génériques comme celui-ci:

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

Mais ça ne marche pas en faisant juste ça.

Est-ce que quelqu'un sait comment le faire correctement?

Merci!

Commentaire le plus utile

Vous devez soit le lancer <YourComonent>this.$refs soit réifier $refs .
https://github.com/HerringtonDarkholme/av-ts/wiki/FAQ#2 -property-reification

Tous les 3 commentaires

Vous devez soit le lancer <YourComonent>this.$refs soit réifier $refs .
https://github.com/HerringtonDarkholme/av-ts/wiki/FAQ#2 -property-reification

votre description ne me laisse pas savoir comment résoudre ce problème. montrer la réponse étape par étape, pls.

vraiment confus à propos de ts + vue

Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

franciscolourenco picture franciscolourenco  ·  3Commentaires

gkiely picture gkiely  ·  3Commentaires

fergaldoyle picture fergaldoyle  ·  3Commentaires

bdedardel picture bdedardel  ·  3Commentaires

bfis picture bfis  ·  3Commentaires