保存函数参数值供以后使用

时间:2018-04-18 14:38:21

标签: javascript angular typescript

我称为myFunction()的函数将1参数作为输入。我需要将参数保存到变量并访问变量的输入以供以后使用。

以下是我试图在这里实现的目标。

当用户进行操作时,事件将作为参数传递给Myfunction。在我的myFunction内,我将事件分配给变量saveArg1

在组件x中,我进行更改时应调用myFunction中的component 1。我正在使用subject调用该函数。

但问题是,在调用myFuntion时,saveArg1未定义。

那么如何保存事件供以后使用?我不想使用localStorage。

**Component 1**
public saveArg1:any;
ngOnInit(){
 this.myService.isChanged.subscribe((result) => {
      if (result) {
       this.myfunction(this.saveArg1);
      }
    });
}

myfunction(agr1) {
this.saveArg1 = agr1;
....
}

**Component x**
  onWeekChange($event) {
    this.myService.isChanged.next(true);
  }

2 个答案:

答案 0 :(得分:0)

您需要为var saveArg1提供一些初始值,可能为空。

component 1

public saveArg1:any="";

这可以解决您的问题。

答案 1 :(得分:0)

考虑将this.saveArg1也放到某个主题上。因为当您从其他组件调用this.myService.isChanged时,会从头开始创建组件,这就是为什么不再分配saveArg1的原因。