Angular 6, загрузка svg не отображается в Chrome

#angular

#angular

Вопрос:

Я пытаюсь загрузить несколько виджетов в Angular 6 и создал символ загрузки svg и, используя следующую логику, скрываю и показываю загрузочный div , пока не будут загружены все виджеты , В Firefox загружаемый svg отображается нормально, но в Chrome и IE появляется пустое окно, пока не будут загружены все виджеты, если я заменю svg текстом, даже он не появится в Chrome, вот код

app.component.html

  <div [hidden]="counter >= 3" class="loading-div"> 
       <img src="assets/icons/loading-bee.svg" type="image/svg xml"/>
       <span class="loading-bee-txt">Please wait while we retrieve the data.</span>
</div>
  <div>
    <wgt-financials (initialized)="counter = counter   1"></wgt-financials>
    <wgt-financials (initialized)="counter = counter   1"></wgt-financials>
    <wgt-financials (initialized)="counter = counter   1"></wgt-financials>
  </div>
<div>
  

Это отлично работает в Firefox, но не в Chrome или IE.

Комментарии:

1. отображается ли изображение в инспекторе в разделе элементы в Chrome?

2. Нет, это показывает разделение, изображение не загружается, как и текст, но после загрузки всех виджетов изображение появится в инспекторе .

Ответ №1:

вам не нужно добавлять ‘type’ в тег img. Попробуйте удалить ‘type’.

 <img src="assets/icons/loading-bee.svg"/>
  

также вместо использования [hidden] вы можете использовать *ngIf

* ngIf vs [скрытый]

* ngIf эффективно удаляет свое содержимое из DOM, в то время как [hidden] изменяет свойство display и только указывает браузеру не показывать содержимое, но DOM все еще содержит его.

 <div *ngIf="counter !> 3 amp;amp; counter != 3" class="loading-div"> 
   <img src="assets/icons/loading-bee.svg"/>
   <span class="loading-bee-txt">Please wait while we retrieve the data. 
   </span>
</div>
  

Комментарии:

1. Даже когда я использую ngIf вместо [hidden] , Chrome по-прежнему не загружает svg .

2. Это должно сработать. Посмотрите на этот stackblitz. stackblitz.com/edit /…

3. В вопросе загружаемое изображение загружается до тех пор, пока счетчик не будет равен 3 , что прямо противоположно тому, что есть в URL, div присутствует до тех пор, пока счетчик не будет равен 3 , и div имеет этот загружаемый svg в центре .

4. проверьте пример сейчас .. просто изменил логику на *ngIf=»счетчик <=3″ stackblitz.com/edit /…