@danila_prokopenko

Список желаний на angular?

Я новичек, взялся за angular, поэтому сори за банальный вопрос.
Прошел тутор Tour of Heroes, использую angular-in-memory-web-api, и вот вопрос.
Соответсвенно отображение георев на главном экране етсь H4FoMUAJ3hk.jpg?size=1860x981&quality=96&sign=4de76661737d7a29c40d4381071d38e2&type=album
Просмотр единичного героя по id естьBqv8QecQvCk.jpg?size=1856x980&quality=96&sign=d3fdb6bbfeb0d17767519290c4cf8847&type=album
import { Hero }         from '../hero';
import { HeroService }  from '../hero.service';

@Component({
  selector: 'app-hero-detail',
  templateUrl: './hero-detail.component.html',
  styleUrls: [ './hero-detail.component.scss' ]
})
export class HeroDetailComponent implements OnInit {
  @Input() hero!: Hero;

  constructor(
    private route: ActivatedRoute,
    private heroService: HeroService,
    private location: Location
  ) {}

  ngOnInit(): void {
    this.getHero();
  }

  getHero(): void {
    const id = +this.route.snapshot.paramMap.get('id')!;
    this.heroService.getHero(id)
      .subscribe(hero => this.hero = hero);
  }

  goBack(): void {
    this.location.back();
  }

 save(): void {
    this.heroService.updateHero(this.hero)
      .subscribe(() => this.goBack());
  }
}

Удаление тоже.

А вот как реализовать список желаний? Нажимаете на кнопку под именем героя, допустим "добавить в список желаний" => берется айдишник его, переадресовывается на новую страницу, именуемую как "список желаний" => в ней уже, захватывая адишник, парсит инфу и выводит каждого героя, у которого нажата кнопка "добавить в список желаний".
Поможете?
  • Вопрос задан
  • 67 просмотров
Решения вопроса 1
@lssssssssssl
  1. Взял готовый код из туториала
  2. Создал liked-component
  3. Добавил ссылку Liked Heroes в app-component
  4. Добавил кнопку save to your liked heroes в details-component
  5. Изменил интерфейс Hero путём добавления liked: boolean
  6. Изменил массив HEROES, добавив каждому объекту liked: false
  7. Что и для чего я поменял в методах, надеюсь, сами разберётесь

Решение не лучшее, зато очень доступное :)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы