Ждать или ждать изменения значений в базе данных, а затем обновить свойства в Typescript, чтобы html изменился? - PullRequest
0 голосов
/ 26 апреля 2019

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

export interface ObdInterface{
    RPM: string;
    CoolantTemp: string;
    ThrottlePosition: string;
    EngineLoad: string;
}

Он обновляется в DOM правильно, используя snapshotChanges:

ngOnInit() {
    var fromDataBase = this.db.list('/')
    .snapshotChanges().subscribe(
        item => {
            this.obd2 = item.map(e =>e.payload.toJSON())
            console.log(this.obd2)
        }
    )
}

Мне нужно что-то подождать /обновить свойство, которое используется в разметке, но не знакомо с await и не понимаю, почему мой метод не работает. Я ХОЧУ ОБНОВИТЬ this.gaugeValue, в любом случае это имеет смысл.

export class OdbComponent implements OnInit {
    gaugeValue = this.getGaugeValue();

HTML

    <div class="textClass" >
     <ngx-gauge [type]="gaugeType"
              [value]="gaugeValue" >

Это моя последняя попытка:

getGaugeValue(): any {
    if(this.obd2){
    if(+this.gaugeValue===this.currentValue) {
        setTimeout(this.getGaugeValue(), 50);
        return;
        }
        this.gaugeValue = this.obd2[0]["CoolantTemp"]; 
        this.currentValue = this.obd2[0]["CoolantTemp"];
    }
}

Я тоже пробовал это, но не понимаю, почему я не могу ввести значения в этот датчик, который я использую.Начиная с https://github.com/ashish-chopra/ngx-gauge

HTML

<div class="textClass" *ngFor="let data of obd2">
     <ngx-gauge [type]="gaugeType"
              [value]={{data.CoolantTemp}}>

Мой вопрос заключается в том, как ждать, пока значения изменятся так, чтобы HTML-код мог отображаться и значения обновлялись всякий раз, когда они готовы к изменению.Я хочу иметь возможность устанавливать свойство в машинописи всякий раз, когда оно изменяется в моей базе данных, чтобы свойство связывалось с обновлениями HTML.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...