Как отладить нг-плащ AngularJS? - PullRequest
0 голосов
/ 26 апреля 2019

У меня есть эти значки.

  • icon image
  • icon font-awesome

изображение

`<img ng-if="device.icon != undefined" src="{{ device.icon }}" width="60px;">`

шрифт-устрашающий

Обратите внимание, я использую class="ng-cloak"

`<span class="ng-cloak" ng-if="device.icon == undefined">
    <i class="fa fa-fw fa-lg" ng-class="device.status.deviceType.icon"></i>
</span>`

С этим стилем

<style>
[ng\:cloak], [ng-cloak], [data-ng-cloak], [x-ng-cloak], .ng-cloak, .x-ng-cloak {
  display: none !important;
}
</style> 

Прямо сейчас, он показывает мой значок, шрифт потрясающий, все еще очень быстро отображается при загрузке.

Как мне предотвратить это?

1 Ответ

1 голос
/ 26 апреля 2019

ngCloak только предотвращает отображение элемента в нескомпилированной (по AngularJS) форме.Причина, по которой он кратко отображается, заключается в том, что вы ngIf заявили, и потому, что, кратко, device.icon не определено (я предполагаю, что оно ожидает ответа AJAX).

Если вам не нужен значокпоявляться вообще, тогда просто не включайте этот тег.В противном случае вам потребуется другая переменная, чтобы определить, когда показывать значок, который основан не на неопределенном статусе, а на состоянии вызова AJAX, который извлекает информацию об устройстве.Примерно так:

<span class="ng-cloak" ng-if="ajaxFinished && device.icon == undefined"> <i class="fa fa-fw fa-lg" ng-class="device.status.deviceType.icon"></i> </span>

...