我无法访问组件2中rxjs的使用者在组件1中设置的条件

问题描述 投票:0回答:1

服务:

import { Injectable } from "@angular/core";
import { Subject } from "rxjs";

@Injectable({
  providedIn: "root"
})
export class AdminRoleLocalService {
    public newRoleAdded = new Subject<boolean>();
    constructor() {}
       newRoleAddedEvent() {
       this.newRoleAdded.next(true);
    }
}

component-1:

submitAddRoleForm(addRoleForm: AddRoleData) {
    this.isFetching = true;
    this.roleService.addRoleData(addRoleForm).subscribe(
    httpResponse => {
       console.log(httpResponse);
       this.isFetching = false;
       this.roleLocalService.newRoleAddedEvent();
       this.router.navigate(["/role-management"]);
    },
    errorMessage => {
     console.log(errorMessage);
     this.errorMessageContent(errorMessage);
    }
   );
}

component-2:

ngOnInit() {
   this.roleLocalService.newRoleAdded.subscribe(flag => {
      this.newRoleAddedFlag = flag;
   });
}

我看到newRoleAddedFlag为undefined,因为我期望值为True。我无法找到我在哪里。请您帮助我。

angular rxjs6
1个回答
0
投票

尝试使用

public newRoleAdded = new behaviorSubject<boolean>(true);
© www.soinside.com 2019 - 2024. All rights reserved.