javascript - 我无法访问类中的方法

标签 javascript class oop module

我无法从 paddel.js 访问类中的方法以在 input.js 文件中使用它。 但我可以访问它的属性

//inputs.js

import Paddle from './paddel.js'

export default class InputHandler{
    constructor(paddle){
        document.addEventListener('keydown' , (event)=>{
           // console.log(event.keyCode)
           switch(event.keyCode){
               case 37 :  console.log(Paddle.moveLeft)                 
           }
        })
    }
}


//paddel.js file

 export default  class Paddle{
    constructor(){
        this.width=150;
     }

    moveLeft(){
        console.log("go left")
    }
}

最佳答案

您正在传递paddle,然后使用Paddle。在您的情况下, paddlePaddle 的实例,因此您需要使用该实例并调用该方法,而不是使用该类本身。

  export default class InputHandler{
     constructor(paddle){
         document.addEventListener('keydown' , (event)=>{
               // console.log(event.keyCode)
               switch(event.keyCode){
                   case 37 :  console.log(paddle.moveLeft())                 
               }
            })
        }
    }

 export default  class Paddle{
    constructor(){
        this.width=150;
     }

    moveLeft(){
        console.log("go left")
    }
}
const test = new InputHandler(new Paddle());

还可以调用这样的方法moveLeft()

关于javascript - 我无法访问类中的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55318118/

相关文章:

c++ - Arduino Sketch 编译然后在上传时卡住

language-agnostic - 子类导致父类(super class)中的意外行为——OO 设计问题

C++链表实现

javascript - 显示 <顶点 :pageMessages> in javascript

javascript - 通过 Ajax 内联调用 PHP 文件中的操作

java - Class.forName() 在另一个项目中搜索类

派生类的 C++ 构造函数,其中基类包含类成员

javascript - 为loadChildren提供函数有什么好处?

javascript - angularjs 复选框显示/隐藏框

python - 如何在python中使用循环创建多个类对象?