#typescript #vuejs3
#typescript #vuejs3
Вопрос:
Я пытаюсь заставить типы распространяться из состояния data () в остальную часть компонента, поскольку я нахожу автозаполнение почти необходимым для того, как я кодирую.
У меня есть простой снимок ниже, я возвращаю переменную ‘map’ типа L.Map (leafletjs, если кому-то интересно). Однако в функции mounted() или любой другой vscode / ts считает, что это «any» .
Я огляделся, чтобы узнать, была ли у кого-нибудь такая же проблема, и решил ее, но я ничего не увидел.
Любая помощь была бы очень признательна за то, где я ее использовал!
Комментарии:
1. Рассматривали ли вы возможность использования composition API, с таким подходом проще использовать TypeScript.
2. Спасибо — «Composition API» — это в основном использование reactive ()? Я рассмотрел несколько примеров, таких как link . Я ничего не видел, как иметь локальное состояние для каждого компонента (я думаю, без создания файла резервного состояния для каждого компонента)
3. не совсем, это совершенно новая концепция создания компонентов vue с помощью Vue3: v3.vuejs.org/guide/composition-api-introduction.html
Ответ №1:
Спасибо, Томас, ты указал мне правильное направление для обхода. Я думаю, что я наполовину следовал подходу «composition api».
Вывод: короткий ответ: данные автозаполнения / типа, похоже, не проходят из внутреннего состояния в data ()
Исправление: я в основном перенес свое состояние во внешний класс, у которого есть state dict, завернутый в reactive() .
В некоторых случаях это немного неудобно, но для меня важно иметь правильную информацию о типе.