Vue: vue-class-componentを介したカスタムメソッドは$ refで認識されません

作成日 2017年01月23日  ·  3コメント  ·  ソース: vuejs/vue

こんにちは、みんな、

次のようなエラーメッセージが表示されます。

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

全てのコメント3件

<YourComonent>this.$refsキャストするか、 $refsを具体化する必要があります。
https://github.com/HerringtonDarkholme/av-ts/wiki/FAQ#2 -property-reification

あなたの説明は私にこの問題を解決する方法を教えてくれません。 ステップバイステップで答えを示してください、pls。

ts + vueについて本当に混乱している

このページは役に立ちましたか?
0 / 5 - 0 評価