Hallo zusammen,
Ich habe eine Fehlermeldung wie diese:
error TS2339: Property 'show' does not exist on type 'Element | Vue | Vue[] | Element[]'
Es zeigt auf eine Zeile wie diese:
this.$refs['myDialog'].show()
Dieses show
ist eine in TypeScript implementierte Methode, die vue-class-component verwendet. Es ist in einer Klasse, die Vue erweitert. Ich habe die Zeile in ./types/vue.d.ts hier gefunden .
Ich denke, es sollte mit Generika wie folgt modifiziert werden:
readonly $refs: { [key: string]: [V extends Vue] | Element | Array<V extends Vue> | Array<Element>};
Aber es funktioniert nicht, indem man es einfach tut.
Weiß jemand wie man es richtig macht?
Danke!
Du musst es entweder wirken <YourComonent>this.$refs
oder verdinglichen $refs
.
https://github.com/HerringtonDarkholme/av-ts/wiki/FAQ#2 -property-reification
Ihre Beschreibung lässt mich nicht wissen, wie ich dieses Problem beheben kann. Zeigen Sie die Antwort Schritt für Schritt, bitte.
wirklich verwirren über ts + vue
Hilfreichster Kommentar
Du musst es entweder wirken
<YourComonent>this.$refs
oder verdinglichen$refs
.https://github.com/HerringtonDarkholme/av-ts/wiki/FAQ#2 -property-reification