У меня есть переменная в моем компоненте, которая обновляется при использовании console.log(variable)
, хотя она не обновляется в моем представлении с использованием {{ variable }}
. Я пробовал несколько вещей, моим последним вариантом было использовать Observers
и все еще не работает как должно.
Я объясню свой код:
Итак, у меня есть служба, базовый компонент, компонент приложения и другой компонент
Мой базовый компонент не у меня нет никакого взгляда. Он только создает экземпляры служб. вот так:
private _communicationService: CommunicationService;
private _clientService: ClientService;
constructor(private injector : Injector) {
this.clientService = this.injector.get(ClientService);
}
(Включает методы получения и установки)
Мой компонент приложения и другой, расширяет BaseComponent
Что я думаю, это неправильно моя реализация следующая:
Мой компонент приложения вызывает window
функции, которые я пытался реализовать в моем ngInit
export class AppComponent extends BaseComponent implements OnInit{
constructor(injector : Injector) {
super(injector);
}
ngOnInit(): void {
window.FlashExternalInterface.logLoginStep = (step : string) => {
this.clientService.loadClientProgress(step);
}
}
}
Мой «другой» компонент :
export class LoaderComponent extends BaseComponent implements OnInit {
public progress = 0;
constructor(injector : Injector) {
super(injector);
}
ngOnInit(): void {
this.clientService.clientProgress.subscribe(data => {
console.log("Data Changing?: " + data);
this.progress = data;
console.log("Progress changing??" + this.progress);
});
}
}
Моя progress
переменная изменяется в консоли F12, но не отображается в представлении.
Я пробовал использовать {{ this.progress }}
И без this.
или даже вызов экземпляра прямого сервиса из базового компонента clientService.clientProgress.getValue()
Я имею в виду оконную функцию, которая выдает мне ошибку в консоли, например:
ERROR TypeError: Cannot set property 'logLoginStep' of undefined.
Но, тем не менее, переменная изменяется в приставка. Переменные консоли