В этом пространстве имен я экспортирую тему Rx типа string:
namespace something.TaskHandling {
export const taskSelected$ = new Rx.Subject<String>();
В моем классе TaskListComponent
, который находится в пространстве имен something.TaskHandling.Overview
, у меня есть:
public clickListItem() {
taskSelected$.onNext('responsive-view-filters');
}
И в моем ResponsiveNavigationComponent
в пространстве имен something.CustomerService
я импортирую тему:
import taskSelected$ = something.TaskHandling.taskSelected$;
Я инициирую поток в моем OnInit
:
public $onInit() {
this.observeTaskUpdates();
}
private observeTaskUpdates(): void {
taskSelected$
.filter(classValue => !!classValue)
.subscribe(classValue => {
this.toggleView(classValue);
});
}
Этот код компилируется без проблем, и когда я go to definition
на taskSelected
, я оказываюсь в экспортированном taskSelected$
субъекте.
Но когда я запускаю приложение, я получаю это в своем ResponsiveNavigationComponent.ts:
TypeError: Невозможно прочитать свойство 'filter' из неопределенного
То есть taskSelected$
не определено в моем ResponsiveNavigationComponent
классе. Чего мне не хватает?