こんにちは、みんな、
次のようなエラーメッセージが表示されます。
error TS2339: Property 'show' does not exist on type 'Element | Vue | Vue[] | Element[]'
これは次のような行を指しています。
this.$refs['myDialog'].show()
このshow
は、vue-class-componentを使用してTypeScriptに実装されたメソッドです。 Vueを拡張するクラスにあります。 ここで./types/vue.d.tsに行を配置しました。
次のようなジェネリックを使用して変更する必要があると思います。
readonly $refs: { [key: string]: [V extends Vue] | Element | Array<V extends Vue> | Array<Element>};
しかし、それだけでは機能しません。
誰かがそれを正しく行う方法を知っていますか?
ありがとう!
<YourComonent>this.$refs
キャストするか、 $refs
を具体化する必要があります。
https://github.com/HerringtonDarkholme/av-ts/wiki/FAQ#2 -property-reification
あなたの説明は私にこの問題を解決する方法を教えてくれません。 ステップバイステップで答えを示してください、pls。
ts + vueについて本当に混乱している
最も参考になるコメント
<YourComonent>this.$refs
キャストするか、$refs
を具体化する必要があります。https://github.com/HerringtonDarkholme/av-ts/wiki/FAQ#2 -property-reification