Угловая переменная API не отражает результаты в шаблоне, но делает это в файле ts Class - PullRequest
0 голосов
/ 11 апреля 2019

Я выполняю вызов API, и этот вызов API успешно возвращает данные, которые печатаются в console.log

Однако, когда я использую эту же переменную в шаблоне, она сохраняет значение по умолчанию, которое в этомcase - пустой массив

Я использую для этого общие имена.

import { Component, OnInit } from '@angular/core';
import { DataService } from '@app/core/api/mainmenu/data.service';
import { MenuBlockModel } from '@app/core/models/menu-block.model';

@Component({
    selector: 'app-mainmenu',
    templateUrl: './mainmenu.component.html',
    styleUrls: ['./mainmenu.component.scss'],
    changeDetection: ChangeDetectionStrategy.OnPush,
})
export class MainmenuComponent implements OnInit {

    public menuBlock: MenuBlockModel = [];
    public dummyString: string = 'This works';
    constructor(
        public DataService: DataService,
    ) {
    }

    public ngOnInit(): void {
        this.DataService.getData$()
            .subscribe(result => {
                this.menuBlock = result.menuBlocks;
                // Console log displays results
                console.log('this.menuBlock', this.menuBlock);
            });
    }

}

И переменная, которая не отображается:

<html>
    {{menuBlock | json}} // []
    {{menuBlock}} // nothing displayed
    {{dummyString}} // 'This works'
</html>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...