Область действия не применяется, когда до совершения действия на странице - PullRequest
0 голосов
/ 29 мая 2019

С Angular 7 в шаблоне администрирования Metronic:

Я делаю запрос к своему API и получаю некоторое значение json и помещаю его в тег html.Но пока не произойдут какие-либо действия на странице, данные не появятся.Например, я наведите курсор на какой-то пункт в левом меню.Или щелкните где-нибудь, где на странице, данные появляются suddleny.

Компонент I установить значение переменной.

export class CvDetailComponent implements OnInit {

candidate: any = {}; 
constructor(
private route: ActivatedRoute,
private candidatesService: CandidatesService) { }

ngOnInit() {
var vm = this;
const user_id = this.route.snapshot.paramMap.get('user_id');
this.candidatesService.candidatesDetail(user_id)
.subscribe(
(response) => {
vm.candidate = response;
}
);
}

} 

Установить значение html

<div href="#">
<img [src]="candidateData?.photo?.smallPhoto" width="80" />
<h1>{{ candidate.name }} {{ candidate.surname }}</h1>
<h5>{{ candidate?.currentPositionName }}</h5>
</div> 

Сначалаизображение показывает, когда я устанавливаю значение для переменной.Ничего не происходит.

Data doesnt appear

Второе изображение отображается, когда данные появляются после наведения мыши.

Data appears after mouse hover on menu


Привет,

Я нашел ответ в этом сообщении.

Как заставить дочерний компонент перезагружать свои данные и его представление при изменении родительских данныхAngular 4

При ответе Нура я попытался:

import {ChangeDetectionRef} из '@ angular / core';

this.cd.detectChanges ();

Это работает.

Но вопрос в том, должен ли я вызывать этот метод в каждом компоненте?

Лучшая идея?

...