Обработка внешних DOM-манипуляций внутри компонента angular7 - PullRequest
0 голосов
/ 10 апреля 2019

Внешний файл JS (редактор темы shopify) заменяет содержимое div, созданного внутри * NgFor, я не могу изменить этот конкретный файл JS.

Когда он заменяет содержимое ngFor, angular теряет свои привязки и не может обрабатывать замененный html.

Мне нужно передать замененный div, который содержит hmtl с разметкой и теперь содержит JSON, обратно в angular, чтобы использовать его для воссоздания углового компонента, который он заменил

Я пробовал запустить NgZone, все стандартные методы обнаружения изменений, которые я мог придумать обработка события, но оно неизменное - stopPropagation не мешает ему выполнять свою задачу

Демонстрация текущего жизненного цикла

Angular loads
Components render into html
external js fires off an ajax call and replaces the contents of "section-id-xx" with the response which is JSON
angular loses its bindings
can't do anything

Демонстрация желаемого жизненного цикла

Angular loads
Components render into html
external js fires off an ajax call which replaces the contents of "section-id-xx" with the json response
Angular detects the change and sucks up the json
Angular re renders the component (with the new passed JSON)

это довольно волосато, будет очень сложно показать демонстрационный код, но я могу показать видео!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...