Bem-vindos à nossa comunidade!

Junte-se a nós e faça parte hoje mesmo!

Aula: tentando usar a variável declarada como número

Jorge Ribeiro

Novo Membro
Cadastro
13/4/21
Postagens
6
Curtidas
0
Pontuação
3
Cidade
Carapicuíba
Estou recebendo um erro ao usar readById, onde na "classe do produto" é declarado "id como número" e mesmo assim diz que é nulo. O erro segue:

Falha ao compilar.

src / app / components / product / product-create / product-create.component.ts: 13: 3 - erro TS2741: A propriedade 'id' está ausente no tipo '{price: number; nome: string; } 'mas obrigatório no tipo' Produto '.

13 produto: Produto = {~~~~~~~~

src / app / components / product / product.model.ts: 3: 1 3 id: number; ~~ 'id' é declarado aqui.
 

mourabraz

Membro
Moderador
Cadastro
23/12/20
Postagens
113
Curtidas
158
Pontuação
100
Cidade
Leiria
@Jorge Ribeiro olá tudo bem?

Sei que já se passaram alguns dias... Você entretanto conseguiu resolver. Eu não tenho conhecimento desse exercício, se ainda estiveres com esse problema seria legal se puderes colocar o projeto em algum repositório e compartilhar o link. Ou se puder postar o código do product.model.ts e o código do prodcut-create.components.ts pode ser que eu consiga te ajudar.


Abraços!
 

Jorge Ribeiro

Novo Membro
Cadastro
13/4/21
Postagens
6
Curtidas
0
Pontuação
3
Cidade
Carapicuíba
tudo bem e vc ? Opa ainda não resolvi

tenho um repositório se puder ajudar onde esta o problema agradeço muito @mourabraz
 

mourabraz

Membro
Moderador
Cadastro
23/12/20
Postagens
113
Curtidas
158
Pontuação
100
Cidade
Leiria
@Jorge Ribeiro

Oi você já tinha a interface assim:
JavaScript:
export interface Product {
        id?: number, //essa ? você já tinha ou colocou depois?
        price: number, 
        name: string 
}

Porque a solução do seu problema seria justamente colocar essa interrogação no campo id da interface!

Caso o erro continue na fase da compilação pode ser que o processo de compilação não tenha "percebido" a mudança no arquivo da interface. Você chegou a tentar apagar a pasta build, se estiver gerando alguma, ou limpar o cache de compilação (vou ver se descubro como faz com angular, usando o CLI)
 

Jorge Ribeiro

Novo Membro
Cadastro
13/4/21
Postagens
6
Curtidas
0
Pontuação
3
Cidade
Carapicuíba
então eu já tinha colocado com "id?" porém mesmo assim aponta erro, eu irei verificar se tem alguma pasta de build ...
 

Jorge Ribeiro

Novo Membro
Cadastro
13/4/21
Postagens
6
Curtidas
0
Pontuação
3
Cidade
Carapicuíba
erro como este

Error: src/app/components/product/product-update/product-update.component.ts:17:2 - error TS2564: Property 'product' has no initializer and is not definitely assigned in the constructor.

17 product: Product;
~~~~~~~


Error: src/app/components/product/product-update/product-update.component.ts:24:34 - error TS2345: Argument of type 'string | null' is not assignable to parameter of type 'string'.
Type 'null' is not assignable to type 'string'.

24 this.productService.readById(id).subscribe(product => {
 
Top