File

src/app/todo/todo-list/todo-list.component.ts

Metadata

selector app-todo-list
styleUrls ./todo-list.component.scss
templateUrl ./todo-list.component.html

Index

Properties
Methods
Inputs
Outputs
Accessors

Inputs

todos
Type : []

Outputs

onRemoveTodo
Type : EventEmitter
onToggleAll
Type : EventEmitter
onToggleTodo
Type : EventEmitter

Methods

onRemoveTriggered
onRemoveTriggered(todo: Todo)
Parameters :
Name Type Optional
todo Todo No
Returns : void
onToggleAllTriggered
onToggleAllTriggered()
Returns : void
onToggleTriggered
onToggleTriggered(todo: Todo)
Parameters :
Name Type Optional
todo Todo No
Returns : void

Properties

_todos
Type : Todo[]
Default value : []

Accessors

todos
gettodos()
settodos(todos: [])
Parameters :
Name Type Optional
todos [] No
Returns : void
import { Component, Input, Output, EventEmitter } from '@angular/core';
import { Todo } from '../todo.model';

@Component({
  selector: 'app-todo-list',
  templateUrl: './todo-list.component.html',
  styleUrls: ['./todo-list.component.scss']
})
export class TodoListComponent {
  _todos: Todo[] = [];
  @Input()
  set todos(todos: Todo[]) {
    this._todos = [...todos];
  }

  get todos() {
    return this._todos;
  }

  @Output()
  onRemoveTodo = new EventEmitter<Todo>();
  @Output()
  onToggleTodo = new EventEmitter<Todo>();
  @Output()
  onToggleAll = new EventEmitter<boolean>();

  onRemoveTriggered(todo: Todo) {
    this.onRemoveTodo.emit(todo);
  }

  onToggleTriggered(todo: Todo) {
    this.onToggleTodo.emit(todo);
  }

  onToggleAllTriggered() {
    this.onToggleAll.emit(true);
  }
}
<ng-content></ng-content>

./todo-list.component.scss

Legend
Html element
Component
Html element with directive

result-matching ""

    No results matching ""