javascript - 使用 'this' 将类的对象传递给另一个类(Javascript)

标签 javascript

在 Javascript 中使用“this”将一个类的对象传递给另一个类

所以,我有 java、c#、python 和该范围内其他语言的背景,我正在尝试基本上用 Javascript 重新创建一些东西。

我想使用“this”将 A 类的对象传递给 B 类,以便可以在 B 类中访问 A 类的实例。

import B from .....
class A
{
   constructor()
   {
    Obj = new B // Make object of class B

    b(this) // Send instance of class A to class B
   }

 methodA() // Method to test
 {

    alert("Hello!")

 }

}

class B
{

 constructor(a) //receive class A here in class B
 {

    a.methodA // call method of the instance class A

 }

}

将 A 传递给 B 时,无法访问 b 中的方法 A

最佳答案

由于您在 B 构造函数中使用该对象,因此需要将 this 作为参数传递给 new B。任何地方都没有 b() 函数。

您在调用a.methodA()时也忘记了括号。

class A {
  constructor() {
    let Obj = new B(this) // Make object of class B
  }

  methodA() // Method to test
  {
    alert("Hello!")
  }
}

class B {

  constructor(a) //receive class A here in class B
  {
    a.methodA() // call method of the instance class A
  }
}

let a = new A;

关于javascript - 使用 'this' 将类的对象传递给另一个类(Javascript),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57402200/

相关文章:

javascript - JavaScript 中的文档对象

通过 Id 移动图像的 JavaScript 简单错误

javascript - 我可以在选择元素的选项中使用 HTML 标签吗?

javascript - 在循环中切换函数

Javascript将字符串拆分为另一个字符串,并包含用于将其拆分为结果的另一个字符串

javascript - 将相同的类添加到多个对象

javascript - 如何从 forEach 函数聚合 json 对象数组?

javascript - 将文件中的另一个对象添加到 Javascript 对象数组

javascript - 无法向 Controller angularJs + CordovaJs (TypeScript) 注入(inject)服务

javascript - 函数中的 if-else 语句如何工作?