No editar-pensamento.component.html coloque apenas isso para reutilizar o Criar.
<app-criar-pensamento [pensamento]="pensamento"></app-criar-pensamento>
E no criar-pensamento.component.ts faça isso:
import { PensamentoService } from './../pensamento.service';
import { Pensamento } from './../pensamento/pensamento';
import { Component, Input, OnInit } from '@angular/core';
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 {
@Input() pensamento: Pensamento = {
id:0,
conteudo: '',
autoria: '',
modelo: ''
}
constructor(private service:PensamentoService, private router: Router){}
ngOnInit(): void {
}
criarPensamento(){
if(this.pensamento.id){
this.service.editar(this.pensamento).subscribe(()=>{
this.router.navigate(['/listarPensamento'])
})
} else {
this.service.criar(this.pensamento).subscribe(()=>{
this.router.navigate(['/listarPensamento'])
})
}
}
cancelar(){
this.router.navigate(['/listarPensamento'])
}
}
Simples assim!