Идентификатор «длина» не определен. 'null' не содержит такого члена ng (0) - PullRequest
0 голосов
/ 25 февраля 2020

Ошибка: - Identifier 'length' is not defined. 'null' does not contain such a member ng(0).

Ниже используется значение ключа, представляющее собой встроенный канал angular (ie Преобразует объект или карту в массив пар значений ключа.)

. html

<div *ngIf="(widget?.response | keyvalue)?.length"></div>

Ответы [ 2 ]

0 голосов
/ 25 февраля 2020

Зачем использовать значение ключа конвейера, если вы просто хотите проверить, есть ли в вашем словаре значения?

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

<div *ngFor="let res of widget?.response| keyvalue;">
  <app-response[res]="res.value"></app-reponse>
</div>

Если вы просто хотите проверить, есть ли у него значения, используйте awnser of Michael D

0 голосов
/ 25 февраля 2020

Вы лучше обрабатываете логин сравнения в компоненте, а не в шаблоне. Также учтите, что keyvalue - это нечистая труба. Это может быть вызвано слишком много раз, чем ваше фактическое требование. Примерно так должно это сделать

Компонент:

import { Component, OnInit } from '@angular/core';

export class AppComponent implements OnInit {
  private isWidgetValid = false;

  constructor() { }

  ngOnInit() {
  }

  private setWidgetValidity() {
    if (this.widget) {
      this.isWidgetValid = (Object.entries(this.widget.response)).length ? true : false;
    }
  }
}

Шаблон:

<div *ngIf="isWidgetValid"></div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...