Vue: Propriedades de dados não encontradas e / ou digitadas incorretamente no TypeScript 3.6.2

Criado em 30 ago. 2019  ·  4Comentários  ·  Fonte: vuejs/vue

Versão

2.6.10

Link de reprodução

https://jsfiddle.net/keegan_openbay/nhvemx32/ (esteja ciente de que JSFiddle não mostra erros do compilador TypeScript)

Passos para reproduzir

  • use TypeScript> = 3.6.1-beta (atualmente estável em 3.6.2)
  • tem pelo menos um suporte
  • digite corretamente todos os seus métodos
  • use uma propriedade data diferente de string nas opções de seu componente

O que é esperado?

Comportamento normal; a propriedade data foi digitada corretamente e encontrada na instância.

O que realmente está acontecendo?

Os erros surgem porque:

  • em methods , as propriedades de dados não são encontradas no tipo de componente.
  • em watch , as propriedades dos dados são digitadas string | WatchOptionsWithHandler<any> | WatchHandler<any> .
  • em computed , as propriedades dos dados são digitadas (() => 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

Comentários muito úteis

Eu arquivei no repositório TypeScript.
https://github.com/microsoft/TypeScript/issues/33164

Todos 4 comentários

Na verdade, não está mais funcionando enquanto estava no 3.5.3. Não tenho certeza se é um problema upstream ou não, mas algo quebrou em nossos tipos

Estou apenas investigando isso. Ainda não tenho certeza se é bug upstream ou não. Mas anotar o tipo data de this pode ser uma solução alternativa:

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

Eu arquivei no repositório TypeScript.
https://github.com/microsoft/TypeScript/issues/33164

TypeScript v3.6.3 foi lançado e resolve esse problema.

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

Jokcy picture Jokcy  ·  3Comentários

gkiely picture gkiely  ·  3Comentários

wufeng87 picture wufeng87  ·  3Comentários

franciscolourenco picture franciscolourenco  ·  3Comentários

bdedardel picture bdedardel  ·  3Comentários