Vue: لم يتم العثور على خصائص البيانات و / أو كتابتها بشكل غير صحيح في TypeScript 3.6.2

تم إنشاؤها على ٣٠ أغسطس ٢٠١٩  ·  4تعليقات  ·  مصدر: vuejs/vue

الإصدار

2.6.10

رابط الاستنساخ

https://jsfiddle.net/keegan_openbay/nhvemx32/ (اعلم أن JSFiddle لا يعرض أخطاء مترجم TypeScript)

خطوات التكاثر

  • استخدم TypeScript> = 3.6.1-beta (مستقر حاليًا عند 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 التقييمات