«Меняющий» слушатель Angular4 срабатывает только один раз - PullRequest
0 голосов
/ 24 мая 2018

У меня есть выпадающий список, в котором я рисую данные, которые меняются в зависимости от выбора.Он будет работать нормально при первой загрузке, но не будет меняться снова, пока я не перезагрузлю или не перенаправлю.Любые идеи будут полезны.

Ответы [ 2 ]

0 голосов
/ 30 мая 2018

Спасибо за все советы, но мне удалось обойти это.Самым большим препятствием является то, что выбор был в другом компоненте (который я извиняюсь за то, что не упомянул), поэтому мне пришлось экспортировать информацию выбора в мой компонент, где будет отображаться информация.

component2.ts

import { userInfo } from '../../component1';

И затем установить задержку, чтобы она инициировала прослушивание после полной загрузки обоих компонентов.Кажется, это было раньше, в моей предыдущей версии

ngOnInit() {
if(userInfo.place){
  this.getLogsfromPlace()
}    
setTimeout(()=>{
  this.startupUserInfo = userInfo
  document.getElementById("header").addEventListener('change', (e:any)=>{
  this._placeService.getPlace(userInfo.place).subscribe((e:any)=>{
    this._personService.person(e.data.place.person.id).subscribe((e:any) => {
      this.logs = e.data.person.logs
    })
  })
})  }, 3000);
}

Очень ценится!

0 голосов
/ 24 мая 2018

Это может вам помочь.

Добавьте этот код при импорте Module.ts

import { FormsModule } from '@angular/forms';
imports: [FormsModule]

Inside component.ts

 myModel(e: Event) {
    console.log(e);
  }

In Component.html

   <select (ngModelChange)="myModel($event)" [ngModel]="mymodel">
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">2</option>
</select>
...