IE / Edge отображает «ноль», когда свойство модели не определено - PullRequest
0 голосов
/ 09 мая 2018

Я использую Angular 5, и когда у меня есть привязка шаблона для некоторых данных в моей модели, а свойство модели, к которому я привязываю, отсутствует, IE / Edge отображает строку "null".

EX:

<span [innerHTML]="pagemodel.someproperty">

Если pagemodel.someproperty не существует, то IE / Edge отобразит «null» в теге span. Это происходит из-за того, что моя модель страницы исходит от службы, которая не отправляет свойства, являющиеся значениями по умолчанию, такими как пустые строки, нули или true. Это сделано для минимизации размера данных, отправляемых в браузер. Я мог бы добавить pagemodel.someproperty ? pagemodel.someproperty : '' ко всем привязкам, но на самом деле не хочу добавлять весь этот дополнительный код в мой проект.

1 Ответ

0 голосов
/ 19 июня 2019

Насколько я понимаю, есть некоторые способы решения этой проблемы,

  1. Вы можете использовать * ngIf = "pagemodel.someproperty" , чтобы проверить, готовы ли данные в компоненте для отображения в шаблоне.
  2. Вы можете установить фиктивное значение, например pagemodel ['someproperty'] = ""; , в компоненте по умолчанию и заменить его фактическим значением, если оно доступно.
  3. Или вы можете использовать объект класса DOM Sanitizer и установить пустые значения в "" (Но также осведомлены о концепции безопасности DOMSanitizer)
...