首页 > 解决方案 > 我无法访问方法形成一个类

问题描述

我无法从 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")
    }
}

标签: javascriptclassoopmodule

解决方案


您正在通过paddle然后使用Paddle. paddle在你的情况下是一个实例Paddle,所以你需要使用实例并调用方法,不要使用类本身。

  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()


推荐阅读