Я использую Vue с TypeScript и пакетом vue-property-decorator
.
Когда я использую проп, вот так:
@Prop({ default: '' }) private type: string
Я получаю ошибку компилятора TS: Property 'type' has no initializer and is not definitely assigned in the constructor.
Но тогда, если я инициализирую его чем-то вроде:
@Prop({ default: '' }) private type: string = ''
Тогда я получаю предупреждение в консоли браузера:
vue.runtime.esm.js?ff9b:587 [Vue warn]: Avoid mutating a prop directly since the value will be overwritten
whenever the parent component re-renders. Instead, use a data or computed property based on the prop's
value. Prop being mutated: "type"
Так что мне делать в этомсценарий, чтобы не было ошибок или предупреждений?
Единственное, о чем я могу думать, это установить: "strictPropertyInitialization": false
в tsconfig.json, но я бы хотел избежать этого, если это возможно.
Спасибо!