2.6.10
https://jsfiddle.net/keegan_openbay/nhvemx32/(JSFiddleはTypeScriptコンパイラエラーを表示しないことに注意して
data
プロパティを使用する通常の動作; data
プロパティは正しく入力され、インスタンスで見つかります。
次の理由でエラーが発生します。
methods
では、データプロパティがコンポーネントタイプに見つかりません。watch
では、データプロパティはstring | WatchOptionsWithHandler<any> | WatchHandler<any>
入力されます。computed
では、データプロパティは(() => any) | ComputedOptions<any>
入力されます。 3.5.3であった間は、実際にはもう機能していません。 それが上流の問題であるかどうかはわかりませんが、私たちのタイプで何かが壊れました
調べているところです。 それがアップストリームのバグであるかどうかはまだわかりません。 ただし、 data
のthis
型に注釈を付けることは、回避策になる可能性があります。
data(this: any): { loading: boolean; fade: boolean } {
// ...
}
TypeScriptリポジトリに提出しました。
https://github.com/microsoft/TypeScript/issues/33164
TypeScript v3.6.3がリリースされ、この問題が解決されました。
最も参考になるコメント
TypeScriptリポジトリに提出しました。
https://github.com/microsoft/TypeScript/issues/33164