• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Angular - znacznik selection a zadania http , Jak zrobić by w zależności od wyboru pokazywały się inne dane

VPS Starter Arubacloud
0 głosów
117 wizyt
pytanie zadane 23 listopada 2019 w JavaScript przez Vekaltor Nowicjusz (120 p.)

Witam chciałbym żeby po zmianie option w selection zmieniły mi się dane pobierane z JSONA

Component HTML

<div>
 <select name="cos">
   <option selected="selected" >Wybierz kino</option>
   <option *ngFor="let kino of kina  "[value]="kino.id">{{ kino.name }} | {{ kino.id }}</option>
 </select>
 <div  *ngFor="let kin of kina.cinemaProgramme.programmeItems" style="color:white;">
    {{ kin.movie.title }}
 </div>

</div>

Component TS

import { Component, OnInit } from '@angular/core';
import { ProgrammeService } from '../programme.service';
import { Time } from '@angular/common';


@Component({
  selector: 'app-repertuar',
  templateUrl: './repertuar.component.html',
  styleUrls: ['./repertuar.component.css']
})
export class RepertuarComponent implements OnInit {

   film: CinemaProgramme[];
   repertuar: CinemaProgramme[];
   kina: Cinema[];
   programy: Array<ProgrammeItems> = [];


 // getCinemaProgramme(): void {
 //   this.programmeService.getCinemaProgramme().
 //  subscribe(filmy => this.filmy = filmy );
 // }

  getCinemaProgramme(): void {
    this.programmeService.getCinemaProgramme().
    subscribe(repertuar => this.repertuar = repertuar);
  }

  getCinema(): void {
    this.programmeService.getCinema().
    subscribe(kina => this.kina = kina);
  }

  getCinemaPrograme(): void {
    this.programmeService.getCinemaPrograme().
    subscribe(film => this.film = film);
  }

  getRepertuar(): void {
    this.programmeService.getRepertuar().
    subscribe(programy => this.programy =  programy);
  }


  constructor(private programmeService: ProgrammeService) { }

  ngOnInit() {
    this.getCinemaProgramme();
    this.getCinema();
  }
}

export interface Cinema {
  name: string;
  id: number;
  cinemaProgramme: CinemaProgramme;
 }

export interface CinemaProgramme {
  id: number;
  programmeItems: Array<ProgrammeItems> ;
}

export interface ProgrammeItems {
  movie: Movie;
  hours: Date[];
 }

export interface Movie {
   id?: number;
   title?: string;
   director?: string;
   length?: Time;
   description?: string;
 }

Service

export class ProgrammeService {
  private url = 'http://localhost:8080/';

  getCinemaPrograme(): Observable<CinemaProgramme[]> {
    return this.http.get<CinemaProgramme[]>(this.url + 'cinema/getAll');
  }

  getCinemaProgramme(): Observable<CinemaProgramme[]> {
    return this.http.get<CinemaProgramme[]>('http://localhost:8080/programme/get/6');
  }


  getCinema(): Observable<Cinema[]> {
    return this.http.get<Cinema[]>('http://localhost:8080/cinema/getAll');
  }

  getRepertuar(): Observable<Array<ProgrammeItems>> {
    return this.http.get<Array<ProgrammeItems>>(this.url + 'programme/getAll');
  }


  constructor(private http: HttpClient) { }
}

Już meczę się z tym kolejny dzień ... Szukam i nic nie moge znalezc konkretnego ... Prosiłbym o pomoc :/

 

1 odpowiedź

0 głosów
odpowiedź 23 listopada 2019 przez ScriptyChris Mędrzec (190,190 p.)

Podepnij się pod zdarzenie change i na nie wywołaj odpowiednią metodę z komponentu, która pobierze i ustawi to co potrzebujesz wyświetlić (nie zagłębiałem się w Twoje API). Przykład:

<select (change)="onChange($event)" name="cos">
  onChange(event) {
    console.log("Selected option value: ", event.target.options[event.target.selectedIndex].value);
  }

 

 

Podobne pytania

0 głosów
0 odpowiedzi 121 wizyt
pytanie zadane 8 stycznia 2021 w JavaScript przez michal_php Stary wyjadacz (13,700 p.)
0 głosów
0 odpowiedzi 175 wizyt
pytanie zadane 28 grudnia 2017 w Inne języki przez Adam Ostrogórski Obywatel (1,070 p.)
0 głosów
1 odpowiedź 480 wizyt
pytanie zadane 24 sierpnia 2018 w JavaScript przez wiwot Nowicjusz (190 p.)

93,005 zapytań

141,971 odpowiedzi

321,251 komentarzy

62,343 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...