当前位置: 首页 > 知识库问答 >
问题:

角度6-将数据传递到类变量时未定义

皇甫敏达
2023-03-14

我有一个服务,在构造函数中我运行一个方法来获取一些数据。我可以看到数据,然后将其传递给预定义的变量。

这样地:

export class SentinelService {

  configuration;

  constructor() {


    this.electronService.ipcRenderer.on('config' , function(event , data) {

      this.configuration = data; // pass the data to configuration variable

      console.log(this.configuration.name); // Check it ... I can see the value here


    });

  }


  myMethod() {

    // Try it here
    console.log(this.configuration.name); // I get Undefined

  };


  ...

虽然我已经将值分配给配置变量,并且可以看到它是从构造函数内部的方法传递的,但是当我在另一个方法上尝试同样的事情时,我得到了未定义的。

我怎样才能解决这个问题?

共有1个答案

宦瀚
2023-03-14

使用arrow函数作为回调函数以保持类的作用域:

this.electronService.ipcRenderer.on('config' , (event , data) => {
  this.configuration = data; 
  ...

另外,看看这一点,了解为什么正常函数和箭头函数是不同的。

 类似资料:
  • 我正在研究这个angular2项目,其中我使用从一个组件导航到另一个组件。 有两个组件。i、 例如, 我想从PagesComponent导航到DesignerComponent。 到目前为止其路由正确但我需要通过 我尝试使用RouteParams,但它的获取页面对象。 下面是我的代码: 页面.组件. ts 在html中,我正在执行以下操作: 在 DesignerComponent 构造函数中,我完

  • 问题内容: 将变量数据从传递到类的最佳方法是什么?数据是在第一个类中创建的,我需要将该数据传递给第二个类而不使用Intent。任何代码示例将不胜感激。 自从我开始工作以来,我就打算将其发布。就我而言,我已经有一个,而我正在做的事情我需要另一个相同的类型。因此,这里去: 班级活动 我的主要活动 请注意,我必须先创建主类的实例 问题答案: 如果您的班级名称是为此创建的,并将值作为参数传递,则下面是一个

  • myrole/tasks/main.yml myrole/defaults/main.yml 但是,当我将变量传递给我的角色时,它无法使用defaults/main.yml文件,并且得到以下错误: 似乎可以使用数组,但如果我使用哈希并希望访问带有item.xxx的变量,则返回此错误: 失败了!=>{“failed”:true,“msg”:“字段'args'具有无效值,该值似乎包含未定义的变量。错误

  • 问题内容: 我想将一些数据传递给$ mdDialog。实际上,我在一个单独的文件中有两个控制器。这是我的控制器代码 我想tp将profileId传递给profileController并显示配置文件数据。在配置文件控制器中,我以此获取数据 但是这个错误出现在控制台中 这是什么错误以及如何解决? 问题答案: 我添加了配置文件模板,这是由于错误。通过删除它,我的问题解决了。

  • 问题内容: 我迷路了。如何将循环变量传递给AJAX .done()调用? 显然,如果我要这样做, 我 将在每次迭代中返回对象中的最后一个键。文档使我失望。 问题答案: 您可以使用闭包(通过自执行函数)来捕获每次循环调用的值,如下所示:

  • 我想在kubernetes环境中设置我的Django应用程序,在创建应用程序容器时,传递环境变量,以便这些环境变量用于启动容器。例如,在启动应用程序容器时,我想发出管理命令,例如 等等。如何在容器中以通用方式传递这些变量值,例如上面的lname和fname,以便每次都可以根据用户凭据传递新值,并且每次都不需要硬编码?