данные по умолчанию на странице init angular 4 - PullRequest
0 голосов
/ 25 апреля 2018

У меня на виду кнопка с выпадающим списком разных имен, которые я получаю из бэкенда Я показываю имя, которое я получаю по умолчанию. У меня есть метод в компоненте, чтобы получить данные, когда они меняют параметры в раскрывающемся списке. Я добавил событие щелчка, которое извлекает данные, когда параметр изменяется в раскрывающемся списке.

Я могу получить данные формы getFinalData при изменении параметров в раскрывающемся списке, так как у меня есть событие щелчка по этому. Но я хочу показать данные первого элемента при загрузке начальной страницы. Как мне показать данные имени по ngOninit?

component.ts

 ngOnInit() {
        this.getFinalData(this.name);
      }
 getnames() {
    this.http.get('**')
      .subscribe(data => {
      });
  }
          getFinalData(name) {
                this.http.get('**' + '/' + name)
                  .subscribe(data => {
                   console.log(data)
                }

HTML

 <button id="selected" type="button" class="btn btn-secondary dropdown-toggle data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">{{selected}}</button>
      <div class="dropdown-menu arrow form-group">
       <a class="dropdown-item" *ngFor="let data of data" (click)="getFinalData(data?.name)">{{data?.name}}</a>
      </div>

1 Ответ

0 голосов
/ 25 апреля 2018
ngOnInit() {
        this.getNames();
      }

getnames() {
    this.http.get('**')
      .subscribe(namesData => {
      if(this.name==""){
        //assume that this.name is "" or null on init.
          this.getFinalData(namesData[0].name)
          .subscribe(nameInfo=>{})
       }
 });

    getFinalData(name) {
              this.http.get('**' + '/' + name)
              .subscribe(data => {
               console.log(data)
            }

   onSelectClick(name:string){
      this.getFinalData(name)
   }
...