#13: 🚧 Refatorando o App Component
Vamos realizar uma pequena refatoração. O app-root não deve ter um template tão grande e com toda essa lógica. Deve apenas chamar outro componente que irá lidar com isso.
Crie um novo componente chamado
list-manager:
ng g c list-manager
Mova todo o código do
app-rootparalist-manager.Você pode manter o título no
app-root, e dar a ele um valor.Mas cuidado para não alterar o nome da classe do componente list manager!
@Component({
selector: 'app-root',
template: `
<h1>
Welcome to {{ title }}!
</h1>
`,
styleUrls: ['./app.component.css']
})
export class AppComponent {
title = 'My To Do List APP'
} import { Component, OnInit } from '@angular/core';
import { TodoItem } from '../interfaces/todo-item';
@Component({
selector: 'app-list-manager',
template: `
<app-input-button-unit (submit)="addItem($event)"></app-input-button-unit>
<ul>
<li *ngFor="let todoItem of todoList">
<app-todo-item [item]="todoItem"></app-todo-item>
</li>
</ul>
`,
styleUrls: ['./list-manager.component.css']
})
export class ListManagerComponent implements OnInit {
todoList: TodoItem[] = [
{title: 'install NodeJs'},
{title: 'install Angular CLI'},
{title: 'create new app'},
{title: 'serve app'},
{title: 'develop app'},
{title: 'deploy app'}
];
constructor() { }
ngOnInit() {
}
addItem(title: string) {
this.todoList.push({ title })
}
}Chame o novo componente no template do
app-root:
É isso! Agora podemos continuar.
Last updated