Угловой эквивалент нулевого оператора объединения в шаблоне HTML

#angular #typescript #angular11

#угловой #typescript #angular11

Вопрос:

Что такое эквивалент нулевого объединяющего оператора?? в шаблоне Angular HTML? Это оператор OR?

Цель: если имя продукта равно null, отобразить ProductType

 {{ (item?.ProductName || item.ProductType) }}
 

использование?? оператор в шаблоне HTML выдает ошибку.

Ответ №1:

Я думаю, что у меня есть решение для вас, пожалуйста, проверьте код ниже =>
HTML:

 <p>
 {{ item?.ProductName==undefined?item.ProductType:item.ProductName }}
</p>
 

TS:

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

@Component({
  selector: 'my-app',
  templateUrl: './app.component.html',
  styleUrls: [ './app.component.css' ]
})
export class AppComponent  {
  item:MyClass;
  constructor(){
    this.item=new MyClass();
    //this.item.ProductName="P-Name";
    this.item.ProductType="P-Type";
    console.log(this.item.ProductName);
  }
}
export class MyClass{
  ProductName :string;
  ProductType :string;
}
 

Примечание: Если вы включите this.item.ProductName="P-Name"; эту строку, в ней будет отображаться «P-Name», в противном случае будет отображаться «P-Type». Ссылка на StackBlitz.