切勿更改其他组件的价值

时间:2019-05-31 17:14:17

标签: angular

该组件有这项服务:

export class ListUserService {
    public openMeet = new BehaviorSubject<boolean>(false);

然后从视图中更改此变量

<span> <input type="button" id="usuarios" name="more" (click)="change()"
                  value="crear Meet"></span>

在组件中,我具有功能change():

 change() {
        this.open ? this.open = false : this.open = true;
        this.listUserService.openMeet.next(this.open);
        });

我想获取其他组件的值

flagPerfil: boolean;
constructor(private listUserService: ListUserService) {
        listUserService.openMeet.subscribe((flag) => {
            this.flagPerfil = flag;
        });
    }

但是在视图中值永远不会改变:

  <span>{{flagPerfil}}</span>

请不要更改此值,这是什么错误?

1 个答案:

答案 0 :(得分:1)

我认为问题出在这行

this.open ? this.open = false : this.open = true;

点击时您没有更改 this.open ,您需要更改如下的 change() 方法

 change() {
     this.open = this.open ? false : true;
     this.listUserService.openMeet.next(this.open);
 };

我希望这会有所帮助..:)