BonBonSlick
@BonBonSlick
Vanilla Web Architect

Есть ли смысл делать @Prop типизацию?

@Prop({required: true, type: String}) public readonly icon!: string;
  • Вопрос задан
  • 27 просмотров
Решения вопроса 1
Aetae
@Aetae
Тлен
Если стоит ts-флаг emitDecoratorMetadata - то vue-property-decorator автоматически проставит type для простого примитивного типа, т.е. конкретно тут вручную можно не указывать. Однако если тип сложный или юнион простых - то это работать уже не будет, и тогда уже надо вручную. (У меня валяется недописанный ts-плагин-трансформер для расширения этого поведения, но руки всё никак не дойдут.)
Это что касается взаимодействия ts и vue.

Если вопрос - "нужно ли вообще vue-типизировать свойства", то ответ в целом: на ваш вкус.
Есть две причины это делать:
1. Использование вашего компонента вне ts окружения.
2. Поведение свойства, первый тип которого Boolean, отличается от обычного: такое свойство устанавливается в true если стоит на компоненте, даже если значение отсутствует:
<component boolean-prop></component>
// если type: Boolean - booleanProp === true
// если type иной или отсутствует - booleanProp === undefined
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы