Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Bug] O meu criar não está incluindo o modelo

O json esta sendo criado mas faltando o modelo.

Adicione um pensamento novo:

Pensamento

<input

type="textarea"

class="input"

id="pensamento"

name="pensamento"

placeholder="Digite o pensamento"

[(ngModel)]="pensamento.conteudo"

>

Autoria ou fonte

<input

type="text"

class="input"

id="autoria"

name="autoria"

placeholder="Digite a autoria ou fonte"

[(ngModel)]="pensamento.autoria"

>

Selecione o modelo do card:

<input

type="radio"

id="modelo1"

value="modelo1"

name="modelo-card"

>

Modelo 1

Prévia:

Aspas azuis

{{ pensamento.conteudo }}

{{ pensamento.autoria }}

<input

type="radio"

id="modelo2"

value="modelo2"

name="modelo-card"

>

Modelo 2

Prévia:

Aspas azuis

{{ pensamento.conteudo }}

{{ pensamento.autoria }}

<input

type="radio"

id="modelo3"

value="modelo3"

name="modelo-card"

>

Modelo 3

Prévia:

Aspas azuis

{{ pensamento.conteudo }}

{{ pensamento.autoria }}

<button (click)="criarPensamento()" class="botao">Salvar

<button (click)="cancelarPensamentos()" class="botao">Cancelar


import { Component, OnInit } from '@angular/core';

import {Pensamento} from "../pensamento";

import {PensamentoService} from "../pensamento.service";

import {Router} from "@angular/router";

@Component({

selector: 'app-criar-pensamento',

templateUrl: './criar-pensamento.component.html',

styleUrls: ['./criar-pensamento.component.css']

})

export class CriarPensamentoComponent implements OnInit {

pensamento:Pensamento={

conteudo:'',

autoria: '',

modelo: ''

}

constructor(

private service: PensamentoService,

private router: Router

) { }

ngOnInit(): void {

}

criarPensamento(){

console.log((this.pensamento))

this.service.criar(this.pensamento).subscribe(() => this.router.navigate(['/listarPensamento']))

}

cancelarPensamentos(){

this.router.navigate(['/listarPensamento'])

}

}

2 respostas

Solucionado

solução!

Oi Leonardo, tudo bem?

Percebi no seu código que está faltando a diretiva ngModel nos modelos. Da mesma forma que foi feita associação nos campos de conteúdo e autoria, você precisa incluir a diretiva nos modelos também para fazer a vinculação bidirecional.

Então, abaixo da propriedade name, em cada um dos modelos, adicione:

[(ngModel)]="pensamento.modelo"

Caso queira ver em vídeo, essa inclusão foi realizada na aula 2.

Acredito que isso resolverá essa questão, mas caso o problema persista, ou tenha mais dúvidas, continuamos à disposição para auxiliar.

Bons estudos! :)

Caso este post tenha lhe ajudado, por favor, marcar como solucionado. ✓