Angular 加载网络摄像头组件后,Appcomponent变量未定义

Angular 加载网络摄像头组件后,Appcomponent变量未定义,angular,Angular,实际上,我的问题是,我有一个带有全局变量的AppComponent,在ngOnInit期间,我将值分配给全局变量,这对于正在加载的所有其他组件来说都很好。但是对于网络摄像头组件,一旦打开,我会捕获图像并在单击“发送”按钮后单击“发送”按钮,它应该转到SendData()方法,该方法应该提供全局变量url来发送数据,但这次全局变量未定义!为什么会这样?特别是对于网络摄像头组件,只有这种类型的错误 我试图在ngOnInit方法中将全局变量赋值给const变量,但它也重写了undefined priv

实际上,我的问题是,我有一个带有全局变量的AppComponent,在ngOnInit期间,我将值分配给全局变量,这对于正在加载的所有其他组件来说都很好。但是对于网络摄像头组件,一旦打开,我会捕获图像并在单击“发送”按钮后单击“发送”按钮,它应该转到SendData()方法,该方法应该提供全局变量url来发送数据,但这次全局变量未定义!为什么会这样?特别是对于网络摄像头组件,只有这种类型的错误

我试图在ngOnInit方法中将全局变量赋值给const变量,但它也重写了undefined

private url: any;

ngOnInit() {
  this.url= 'some url';
}

// after click the send button in webcam component it call sendMessage()
public sendMessage(message: any) {

const formdata: FormData = new FormData();
console.log(message);
formdata.append('text', message);
formdata.append('data', new Blob([JSON.stringify(message)], { type:'application/json' }));

this.webService.makeRequest(this.url,  // here the url is undefined only for after webcam component
  'POST', formdata, null, 
  (res: any) => {
     console.log(res.status);
  }, 
  (err) => {
    this.console.log(err);
  });
}

//在webCamComponent.ts中

 sendImage() {
const formData: FormData = new FormData();
formData.append('file', new File([this.dataURItoBlob(this.webcamImage.imageAsBase64)], names, { type: 'image/jpeg' }));

const uploadUrl = 'https://10.3.3.3/fileUpload';

this.webService.makeRequest(uploadUrl,
  'POST', formData, null, (res: any) => {

    if(res.status==='success'){ 
      this.appComponent.sendMessage('IMAGE SUCCESS');
    }
  },
  (err) => { 
    this.loggerService.error(err);
    this.appComponent.sendMessage(err);
  }
  );
 this.dialogRef.close(formData);
}
//期望

this.webService.makeRequest(this.url,  // I need the url which i assigned in ngOnInit(), for other component i can able to get url from this same method, only for webcam i cant get.
  'POST', formdata, null, 
  (res: any) => {
     console.log(res.status);
  }, 
  (err) => {
    this.console.log(err);
  });

}我是打字脚本,你可以

       export class MyClass{
       public static MY_URL: string = "Something";
       }
现在,您可以在应用程序中的任何位置编写:

MyClass.MY_URL

要访问该值,您可以

       export class MyClass{
       public static MY_URL: string = "Something";
       }
现在,您可以在应用程序中的任何位置编写:

MyClass.MY_URL

要访问该值

请在调用sendMessage方法的地方添加一段代码好吗?我通过构造函数注入appComponent,从webCamComponent调用sendMessage方法。没关系,但请向我们显示您实际引用的代码
.sendMessage
方法。我这样问的原因是,请与您的问题更相关。我在发送sendMessage()的地方添加了代码,请检查。我现在正在检查,乍一看我觉得很好。这很奇怪。你有没有可能用最少的代码在stackblitz上复制这个问题?你能在调用sendMessage方法的地方添加一段代码吗?我通过构造函数注入appComponent,从webCamComponent调用sendMessage方法。没关系,但是,请向我们展示您实际引用的
.sendMessage
方法的代码。我这样问的原因是,请与您的问题更相关。我在发送sendMessage()的地方添加了代码,请检查。我现在正在检查,乍一看我觉得很好。这很奇怪。你有没有可能用最少的代码在stackblitz上复制这个问题?是的,我发现答案实际上也得到了未定义的url,因为我从的属性(我手动创建)得到了url,这就是为什么在Web cam组件之后,appcomponent的ngOnInit无法访问,因此我将url声明为单独的global.ts文件,无论如何,谢谢!是的,我发现答案实际上也得到了未定义的url,因为我从的属性(我手动创建)得到了url,这就是为什么在Web cam组件之后,appcomponent的ngOnInit无法访问的原因,所以我将url声明为单独的global.ts文件,无论如何,谢谢!