2016-11-18 1 views
0

Я создаю изображение из внешнего источника (qrcode на сервере java ee). Когда мое приложение Angular2 обновляет данные для изображения, все обновляется на сервере, но результирующее изображение не обновляется в угловом приложении. В настоящее время я делаю zone.run, но он, кажется, не обновляет изображение. Все в порядке, если вся страница обновляется (например, если я размещаю location.reload). Никто не может правильно обновить изображение из внешнего источника?Угловое изображение 2, не освежающееся при запуске зоны

шаблон имеет следующее:

 <img [src]=url /> 

компонент имеет следующее:

 this.zone.run(()=>{ 
      this.url = QRURL + this.selectedProduct.id; 
     }); 

QRURL является константой, которая содержит URL-адрес сервера, который выполняет генерацию изображения.

+0

Вам не нужно запускать зону самостоятельно. Это либо проблема с кешем, либо, может быть, что-то о синтаксисе ('' должно быть ''. Пожалуйста, дайте некоторый код вокруг 'this.zone.run', нам нужно больше контекста. – Maxime

+0

Если это проблема с кешем, попробуйте изменить ваш URL-адрес: 'this.url = QRURL + this.selectedProduct.id + '?' + new Date(). getTime();' Таким образом, ваш браузер не попадет в кеш (из-за отметки времени). – Maxime

ответ

0

Кавычки не исправили, но второй комментарий Maxime сделал. У моей константы alread y была строка запроса, поэтому я просто добавил материал даты в качестве еще одного параметра, и это сделало трюк, и я смог удалить zone.run. Конечная переменная выглядела так:

 this.url = QRURL + this.selectedProduct.id + '&date=' + new Date().getTime(); 

Спасибо!

Смежные вопросы