반응형
TypeScript에서 @Prop decorator를 사용하면 컴파일러가 프로펠의 초기화를 요구하는 에러를 표시합니다.
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에 저장하지만 가능하면 피하고 싶습니다.
감사합니다!
첫 번째 오류 메시지는 TypeScript의 Strict Class Initialization(2.7에서 도입) 결과입니다.2.7 릴리즈 노트에는 특정 할당 연산자를 사용하는 방법이 기재되어 있습니다.!
)를 참조해 주세요.당신의 경우 다음과 같이 할 수 있습니다.
@Prop({ default: '' }) private type!: string
언급URL : https://stackoverflow.com/questions/50422006/using-prop-decorator-for-typescript-compilers-gives-error-asking-to-initialis
반응형
'programing' 카테고리의 다른 글
JavaScript를 사용하여 인덱스별로 배열 요소를 제거하려면 어떻게 해야 합니까? (0) | 2022.08.30 |
---|---|
'vuex' 경고에서 "export 'createStore'를 찾을 수 없습니다. (0) | 2022.08.30 |
alloca()의 사용은 왜 베스트 프랙티스로 간주되지 않습니까? (0) | 2022.08.30 |
마우스 오버 시 Vue 사용자 지정 필터 제거 (0) | 2022.08.30 |
#ifdef vs #if - 특정 코드 섹션의 컴파일을 활성화/활성화하는 방법으로는 어떤 것이 더 좋습니까? (0) | 2022.08.30 |