我有一个组件期待一个formGroup。
现在有了我的主页,我想要做的是每当我点击一个按钮然后它将调用一个然后运行的功能
this.router.navigate(['my-component']);
现在我需要通过这个传递formGroup但是我无法理解它是如何完成的。我试过queryParams但没有成功。
如果我可以将formGroup传递给此my-component
组件,那将会很棒。任何帮助
答案 0 :(得分:0)
创建一个共享service
,其变量为behaviorSubject
。
创建set
方法和get
方法,如下所示:
public set $yourVariable(...data_input){
//your logic
}
public get $yourVariable(){
return this.yourVariable.asObservable();
}
在您的组件中(或您需要数据的地方)inject
该服务。默认情况下,添加一个名为isAlive
的变量,该变量设置为true。使用以下代码添加NgOnDestroy
方法:
this.isAlive = false
这样可以防止在您的组件未获得分配时,您所写的订阅处于有效状态。
以这种方式添加或修改您的OnInit
方法:
...
this.yourService.$yourVariable
.takeWhile(() => this.isAlive)
.subscribe( event => {
//your logic here
});
...
如果您的组件需要数据before
注入服务,只需添加.filter
以防止数据在您的请求完成之前呈现。