Angular语言 - onClick触发菜单上的另一个组件



我创建了两个组件。第一个包含一个按钮,第二个包含一个下拉菜单。当用户点击这个按钮(在第一个组件上),我想显示菜单(在第二个组件上)。

是否可能(以及如何?)调用"按钮所在组件的菜单,还是我应该将它们合并到同一个组件中?

提前感谢。

是的,这是可能的,您可以使用rxjs中的BehaviorSubject

创建一个服务文件,例如custom.service.ts:

buttonClickSubject: Subject<Boolean> = new BehaviorSubject(null);
buttonClick$: Observable<Boolean> = this.buttonClickSubject.asObservable();

Comp A (on键点击,呼叫Subject中的next()):

this.service.buttonClickSubject.next(true);

比较B(在constructor内部订阅Observable):

this.service.buttonClick.subscribe(data => {
//write you menu code here
});

回答你的第二个问题:

这完全取决于你的设计。如果你的菜单Component足够大,你可以在不同的地方重新发布,那么你绝对可以创建一个新的Component,否则不需要。

最新更新