在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"