Intereting Posts
Как открыть fancybox с помощью ссылки на карту захватить div в изображение с помощью html2canvas Отключить горизонтальную прокрутку с помощью JavaScript Как взорвать массив строк и сохранить результаты в другом массиве (php) Многоцветное выделение текста в текстовом поле или текстовом вводе Как отключить параметры печати в браузере для определенных страниц Загружать изображение только тогда, когда оно доступно для просмотра? Микроданные для продукта с предложением с организацией Случайные символы в именах classов CSS Какие атрибуты изменяет переход d3? Совместное использование данных между html-страницами Как создать простую модальную всплывающую форму, используя jquery и html? Как найти неиспользуемые изображения и стили CSS на веб-сайте? Призрачная верхняя панель тела с плавающими диванами Получение значений переменных App Inventor 2 в файле HTML / Javascript

Angular5 манипуляция Html другого компонента без отношения «ребенок / родитель»

Для моего приложения я должен общаться с 2 компонентами, но эти компоненты не имеют родительского отношения с дочерними элементами.

Я использую службу для настройки этого объединения. Когда я нажимаю кнопку на компоненте 1, я запускаю функцию в compenent2. Нормальная эта функция делает изменение в html компонента2, когда я вызываю его из компонента2. Но когда я запускаю его из компонента 1, ничего не происходит. Есть ли способ перезагрузить / обновить HTML, когда компонент1 запускает функцию в компоненте2?

Большое спасибо!

Должно быть, проблемы с вашим служебным сообщением, насколько я его использовал, отлично работали для меня. Убедитесь, что вы подписаны на службу в конструкторе компонента, в котором вы хотите получить какое-либо значение. В твоем случае,

import { Subject,Observable, of } from 'rxjs'; code for service : public methodForRender = new Subject(); renderMe = this.methodForRender.asObservable(); callMethodToRender(value) { this.methodForRender.next(value); } code for component 1 : which is triggering function! constructor(private callingBridge: SharedService) {} this.callingBridge.callMethodToRender(this.value); code for component 2 : which should be subscribed to service constructor(private callingBridge: SharedService) {} this.callingBridge.renderMe.subscribe( (value) => { // do your stuff // call your function here to render html } ); 

Надеюсь, это поможет вам!