как бросить URL из компонента, а затем установить его как новый сервис URL? - PullRequest
0 голосов
/ 12 апреля 2020

Привет, я новичок в angular Я хотел бы передать URL из компонента, а затем установить его в качестве нового URL сервиса. это мой код

pokemon.service.ts

  private _url: string = "https://pokeapi.co/api/v2/pokemon";

  constructor(private http : HttpClient) { }

  setUrl(value: string){
    this._url = value;
  }

  getUrl(): Observable<IPokemon[]>{
    return this.http.get<IPokemon[]>(this._url);
  }

pokemon-search.component.ts

export class PokemonSearchComponent implements OnInit {
  pokemons: any = [];
  pokemonUrl: string;

  constructor(private _pokemons : PokemonsService ) { }

  ngOnInit(){
    this._pokemons.getUrl().subscribe(data => {
      this.pokemons = data;
    });
  }

  previousPokemon(url){
    this._pokemons.setUrl(url);
  }
}

я возвращаю ссылку на сервис, но это не изменяет вывод URL по умолчанию. Пожалуйста, помогите мне большое спасибо!

1 Ответ

0 голосов
/ 12 апреля 2020

вы можете подписаться на него после обновления URL, чтобы получить обновленные данные

previousPokemon(url){
    this._pokemons.setUrl(url);
    this._pokemons.getUrl().subscribe(data => {
      this.pokemons = data;
    });
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...