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
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.
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.