Связь между модулем приложения и лениво загруженными модулями в угловых 4 - PullRequest
0 голосов
/ 03 мая 2018

enter image description here У меня есть макет страницы (компонента) в модуле приложения, где я отображаю текст заголовка. У меня есть другой ленивый загруженный модуль, где у меня есть кнопка, при нажатии на которую я меняю текстовое значение.

Я предоставлял сервис только в app.module и вводил его в компонент макета, а также в компонент лениво загруженного модуля. При нажатии на кнопку я обновляю значение SocietyName службы в компоненте лениво загруженного модуля.

Я попробовал следующий подход:

import { Subject } from 'rxjs/Subject';
@Injectable()
export class DataSharingService {   
     private societyName = new Subject<string>();
     societyNameObservable$ = this.societyName.asObservable();
     updateSocietyName(societyName: string) {
        this.societyName.next(societyName);
    }
}

Подписка не происходит на странице макета.

this.dataSharingService.societyNameObservable$.subscribe(value=>{
      console.log(value);
    })

Итак, пока я нашел решение для не ленивых загруженных модулей. Если у кого-то есть идеи, дайте мне знать. Заранее спасибо.

Я хочу изменить название общества по нажатию кнопки переключения . Страница переключения является частью лениво загруженного модуля, а текст Keerthi Gardenia поступает со страницы макета, являющейся частью модуля приложения. В настоящее время я достигаю этого путем перезагрузки страницы, что не является лучшим вариантом.

1 Ответ

0 голосов
/ 04 мая 2018

Работает ли это для вас .?

export class DataSharingService {   
     private societyName = new Subject<string>();

     updatedSocietyValue() {
       return this.societyName.asObservable();
     }

     updateSocietyName(societyName: string) {
        this.societyName.next(societyName);
    }
}

Макет страницы

  this.dataSharingService.updatedSocietyValue().subscribe(value=>{
      console.log(value);
    })
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...