Vue: TypeScript 3.6.2μ—μ„œ 데이터 속성이 μ—†κ±°λ‚˜ 잘λͺ» μž…λ ₯λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

에 λ§Œλ“  2019λ…„ 08μ›” 30일  Β·  4μ½”λ©˜νŠΈ  Β·  좜처: vuejs/vue

버전

2.6.10

볡제 링크

https://jsfiddle.net/keegan_openbay/nhvemx32/ (JSFiddle은 TypeScript 컴파일러 였λ₯˜λ₯Ό ν‘œμ‹œν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€)

μž¬ν˜„ 단계

  • TypeScript> = 3.6.1- 베타 μ‚¬μš© (ν˜„μž¬ 3.6.2μ—μ„œ μ•ˆμ •μ )
  • 적어도 ν•˜λ‚˜μ˜ μ†Œν’ˆμ„ 가지고
  • λͺ¨λ“  방법을 μ˜¬λ°”λ₯΄κ²Œ μž…λ ₯ν•˜μ‹­μ‹œμ˜€.
  • ꡬ성 μš”μ†Œ μ˜΅μ…˜μ—μ„œ λ¬Έμžμ—΄μ΄ μ•„λ‹Œ data 속성 μ‚¬μš©

무엇을 κΈ°λŒ€ν•©λ‹ˆκΉŒ?

정상적인 행동; data 속성이 μ˜¬λ°”λ₯΄κ²Œ μž…λ ₯λ˜μ—ˆμœΌλ©° μΈμŠ€ν„΄μŠ€μ—μ„œ λ°œκ²¬λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

μ‹€μ œλ‘œ 무슨 일이 μΌμ–΄λ‚˜κ³  μžˆμŠ΅λ‹ˆκΉŒ?

였λ₯˜λŠ” λ‹€μŒκ³Ό 같은 이유둜 λ°œμƒν•©λ‹ˆλ‹€.

  • methods μ—μ„œ 데이터 속성은 ꡬ성 μš”μ†Œ μœ ν˜•μ—μ„œ 찾을 수 μ—†μŠ΅λ‹ˆλ‹€.
  • watch μ—μ„œ 데이터 속성은 string | WatchOptionsWithHandler<any> | WatchHandler<any> μž…λ‹ˆλ‹€.
  • computed μ—μ„œ 데이터 속성은 (() => any) | ComputedOptions<any> λ©λ‹ˆλ‹€.

Screen Shot 2019-08-29 at 6 50 52 PM
Screen Shot 2019-08-29 at 7 00 23 PM
Screen Shot 2019-08-29 at 7 10 17 PM

bug typescript

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

TypeScript repo에 μ œμΆœν–ˆμŠ΅λ‹ˆλ‹€.
https://github.com/microsoft/TypeScript/issues/33164

λͺ¨λ“  4 λŒ“κΈ€

3.5.3μ—μžˆλŠ” λ™μ•ˆ μ‹€μ œλ‘œ 더 이상 μž‘λ™ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. μ—…μŠ€νŠΈλ¦Ό λ¬Έμ œμΈμ§€ μ•„λ‹Œμ§€ ν™•μ‹€ν•˜μ§€ μ•Šμ§€λ§Œ μœ ν˜•μ—μ„œ λ¬Έμ œκ°€ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€.

λ‚˜λŠ” 그것을 μ‘°μ‚¬ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. μ—…μŠ€νŠΈλ¦Ό 버그인지 μ—¬λΆ€λŠ” 아직 ν™•μ‹€ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. ν•˜μ§€λ§Œ data 의 this μœ ν˜•μ— 주석을 μΆ”κ°€ν•˜λ©΄ ν•΄κ²° 방법이 될 수 μžˆμŠ΅λ‹ˆλ‹€.

data(this: any): { loading: boolean; fade: boolean } {
  // ...
}

TypeScript repo에 μ œμΆœν–ˆμŠ΅λ‹ˆλ‹€.
https://github.com/microsoft/TypeScript/issues/33164

TypeScript v3.6.3이 μΆœμ‹œλ˜μ—ˆμœΌλ©°μ΄ 문제λ₯Ό ν•΄κ²°ν–ˆμŠ΅λ‹ˆλ‹€.

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰