Vscode-ng-language-service: RECURSO: verificação do tipo de ligação de entrada do modelo

Criado em 11 ago. 2017  ·  7Comentários  ·  Fonte: angular/vscode-ng-language-service

Agora, quando você usa a ligação de entrada para _Diretiva_ ou _Componente_, a existência da variável usada é verificada, o que é perfeito. Mas esta verificação não verifica se a entrada e a variável atribuída a ela são do mesmo tipo.

Seria absolutamente perfeito se também verificasse o tipo de correspondência ou se fosse atribuível. Esta é provavelmente uma solicitação de _ @ angular / language-service_.

Obrigado

feature ivy lib

Comentários muito úteis

Este é um grande problema na minha opinião.
A integração rígida do Typecript é amplamente comercializada como um ativo do Angular2 +, mas, na realidade, cerca de 50% do código não tem o tipo verificado. Se você pensar em passar entradas para componentes como funções, isso basicamente significa que todas as chamadas de função são completamente sem tipo. A digitação só entra em ação dentro de um componente, ao passo que é completamente inútil para a comunicação de componente a componente, onde na verdade seria mais útil.

Este é um problema ainda maior porque a digitação está faltando na parte do aplicativo que muda com mais frequência.

Neste ponto, o React tem uma integração de texto digitado muito melhor do que o Angular, contra o que normalmente é declarado.

Todos 7 comentários

Existe alguma atualização sobre este problema? Esta é uma das poucas coisas ruins sobre o uso do angular: vinculação de template com segurança de tipo.

Este é um grande problema na minha opinião.
A integração rígida do Typecript é amplamente comercializada como um ativo do Angular2 +, mas, na realidade, cerca de 50% do código não tem o tipo verificado. Se você pensar em passar entradas para componentes como funções, isso basicamente significa que todas as chamadas de função são completamente sem tipo. A digitação só entra em ação dentro de um componente, ao passo que é completamente inútil para a comunicação de componente a componente, onde na verdade seria mais útil.

Este é um problema ainda maior porque a digitação está faltando na parte do aplicativo que muda com mais frequência.

Neste ponto, o React tem uma integração de texto digitado muito melhor do que o Angular, contra o que normalmente é declarado.

Também mencionei que não há preenchimento automático para entradas de componentes personalizados. O que pode estar relacionado a este problema.

relevante, provavelmente bloqueando: https://github.com/Microsoft/TypeScript/issues/9879

Isso é necessário porque é _muito_ sujeito a bugs:

<button (click)="foo('bar')">Click me</button>

com um método limitado:

// take note of the parameter type, where the template passes through a string.
public foo(bar: boolean): void {
    // ...
}

Isso deve dar pelo menos algum tipo de aviso.

Definir fullTemplateTypeCheck como verdadeiro no arquivo tsConfig fará com que ng build relate erros; se for falso, simplesmente falhará.

Concordou que este é um grande problema e necessário no serviço de idiomas. Este recurso estará disponível quando o serviço de linguagem usar o compilador Ivy como backend (o trabalho está em andamento).

Isso foi corrigido pelo novo serviço de idioma nativo da Ivy, lançado na v11.1.0 .
Por enquanto, é um recurso opcional, experimente e nos informe se tiver algum comentário.
Para obter a melhor experiência de editor, certifique-se de que seu projeto tenha strictTemplates habilitado em angularCompilerOptions .
Caso encontre um bug semelhante, registre um novo problema. Vou fechar isso por enquanto.

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