我正在使用角度,尝试与非父子组件进行通信。所以我通过服务来传达它
服务.ts
Istoggle=false;
@Output() change: EventEmitter < boolean > = new EventEmitter();
toggle() {
this.Istoggle= !this.Istoggle;
this.toggle.emit(this.Istoggle);
}
搜索.ts
submit():void{
this.service.toggle();
}
Home.ts
ngOnInit() {
this.service.change.subscribe(_toggle=> {
//some code here
}
}
因此,当我单击“主页”组件中的“提交”时,切换订阅会被点击两次
我看到您的服务中有 3 个名称完全相同的字段。其中2个被遗漏了。你可以做
value=false;
search: EventEmitter < boolean > = new EventEmitter();
toggle() {
this.value = !this.value;
this.search.emit(this.value);
}
在您的服务和组件中:
ngOnInit() {
this.service.search.subscribe(value => {
//some code here
}
}
请注意,我删除了 @Output() 装饰器。它仅在组件内部用于父子通信。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)