Всем привет,
Я получил сообщение об ошибке, как это:
error TS2339: Property 'show' does not exist on type 'Element | Vue | Vue[] | Element[]'
Он указывает на такую строку:
this.$refs['myDialog'].show()
Этот show
— это метод, реализованный в TypeScript с использованием компонента vue-class. Он находится в классе, который расширяет 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 -реификация свойства
ваше описание не дает мне знать, как решить эту проблему. покажите ответ пошагово, пожалуйста.
действительно запутался в ts+ vue
Самый полезный комментарий
Вам нужно либо разыграть $#
<YourComonent>this.$refs
, либо реифицировать$refs
.https://github.com/HerringtonDarkholme/av-ts/wiki/FAQ#2 -реификация свойства