Со вью объективно такие проблемы:
1. поддержка тс стрёмная:
Вся дока написана для жс, а на тс надо писать декораторами и совсем по-другому. Типа как в ангуляре, только наоборот) И ты чтоб писать на тс должен как-то матчить то что написано в документации, на то как надо писать
Когда ты описываешь пропу, то ты должен писать что-то такое:
@Prop({required: true}) private readonly propName!: string
или
@P
rop({default: 'asdf'}) private readonly propName!: string
(восклицательный знак)
2. шаблоны аля ангуляр – это наверное таки субъективное, но строка с новым языком (которая я хз, в рантайме парсится?) очень непривычно после jsx.
3. Поддержка этого всего ИДЕ – тут вопрос тулинга вокруг скорей, чем самого vue
4. какие-то вещи типа, если в стейте массив и ты по нему итерируешься в шаблоне, то тслинт (или только иде – не уверен), будет тебе подчёркивать, что ты только пушишь в массив, но нигде его не читаешь. Мелочь, но таких мелочей как-то много
5. Если у тебя в классе написано поле, то в шаблоне ты его не используешь через this, а типа просто (как будто бы в with обёрнуто).
Ощущение, что немного изнасилован жс)