Что делать с синтаксисом, когда даже с вводом в Vue3 поддержки TypeScript из коробки, классы не выжили?
- Эваном Ю рекомендовано использовать Composition API (для Vue2 тоже)
- не путать Class Component API API Vue2 от vue-class-component/vue-property-decorator c классами ES6/TS и Class API Vue3.
- в vue-property-decorator включена поддержка Vue3 начиная с версии v10.0, но без поддержки Composition API
- в vue-class-component добавляются опции для поддержки в концепцию Class API нового Composition API
- если что-то не работает с vue-class-component или vue-property-decorator, то можно посмотреть на vue-decorator или vue-facing-decorator
- есть уже заброшенный конвертер кода из классов в Composition API (сразу для Vue2 и Vue3) Всё бы хорошо, вот только обновления Vue3 могут поломать работу vue-class-component.
Вообще, это интересное развитие событий, когда в мажорную предыдущую версию (v2.7) добавляют новое API (Composition) фактически из новой мажорной версии (v3.0). Что называется "дать заднюю", когда предполагался задел на будущее из v2 в v3 в виде vue-class-decorator.
One catch was that the base Vue class for components needs to be imported from vue-class-component, not from the vue-property-decorator (as we had it before). It works in the actual app, but fails in tests (vue-test-utils)
Цитировано отсюда
Why not migrating to the composition api? because the options API is a completely direct, no-brainer migration. The team still doesn't have real/professional experience with the composition API (neither do I), so doing the mentioned above, and at the same time trying to figure our what is the best way to transform our code to correctly use / better leverage the composition API... again is not an option for us.
Цитировано отсюда. Разворачивается целый рынок, где можно заработать на миграции проектов с Vue2 на Vue3!!!
Highly recommend you migrate away from class components if you ever plan to migrate to Vue 3 because it appears the vue-class-component package has been abandoned and this package is complementary to that one so neither will likely ever be officially released.
Цитировано отсюда. То есть Class API предполагается оставить за Vue2, а Vue3 перевести на другие рельсы, несмотря на то, что TypeScript поддерживает классы.
Внезапная смерть фреймворка от резких решений в OpenSource среде. Доходит до отказа от Vue в принципе, с целью иметь стабильное API и при этом ещё и Typescript, переезжают на Angular/React:
Отсюда
Отсюда