В моем модуле TaskHandler у меня есть TaskOverviewController.ts
:
$onInit() {
this.observeTaskUpdates();
}
private observeTaskUpdates(): void {
showTaskDetailView$
.subscribe(value => {
this.showTaskDetailView = value
console.log('value', value);
console.log('this.showTaskDetailView', this.showTaskDetailView)
});
}
Этот TaskOverviewController
связан с TaskOverview.html
:
<div id="grid-container" class="dashboard-container" ng-controller="TaskOverviewController as vm">
ShowTaskDetailView: {{vm.showTaskDetailView}}
<div id="main" ng-if="vm.showTaskDetailView">
show if true
</div>
</div>
В другом модуле CustomerService
У меня есть ActivityTimelineItemComponent.ts
:
public showDetailTaskView() {
showTaskDetailView$.onNext(true)
}
Когда я запускаю функцию showDetailTaskView()
на ActivityTimelineItem.html
, я перенаправляюсь на другую страницу,
<div >
<i
ng-click="vm.showDetailTaskView()"
ui-sref="dashboard.tasks.overview.details.information({ id: activity.task.id})"
>reply</i
>
</div>
И это включеноконсоль:
TaskOverviewController.ts: 31 значение true
TaskOverviewController.ts: 32 this.showTaskDetailView true
TaskOverviewController.ts: 31 значение true
TaskOverviewController.ts: 32 this.showTaskDetailView true
Но элемент #main
не отображается в DOM.И ShowTaskDetailView: {{vm.ShowTaskDetailView}}
также не показывает установленное значение контроллера.
Я пытался обернуть .subscribe
в TaskOverviewController
в тайм-аут, но это тоже не сработало.Так почему мой контроллер показывает, что значение showTaskDetailView
равно true
, но мой DOM не показывает ng-if="vm.ShowTaskDetailView"