All X signatures should be adjacent @typescript-eslint/adjacent-overload-signatures

我在写贪吃蛇练习项目的时候eslint报了一个错误
在这里插入图片描述
有道翻译过来是 所有的X签名都应该是相邻的@typescript-eslint/adjacent-overload-signatures

报错原因是我写的在Snake类里面写的getseteslint的规范写法是X的get方法必须要与它的set方法相邻

这是报错的代码:

class Snake{
    
    
    head: HTMLElement; // 蛇头元素
    bodies: HTMLCollection; // 蛇的身体
    element: HTMLElement;
    constructor(snakeEle:HTMLElement,head:HTMLElement){
    
    
        this.element = snakeEle;
        this.head = head
        this.bodies = snakeEle.getElementsByTagName("div")
    }

    // 获取蛇头的X坐标
    get X(){
    
    
        return this.head.offsetLeft
    }
    // 获取蛇头的Y坐标
    get Y(){
    
    
        return this.head.offsetTop
    }
    // 设置蛇头的X坐标
    set X(value:number){
    
    
        this.head.style.left = value + 'px'
    }
    // 设置蛇头的Y坐标
    set Y(value:number){
    
    
        this.head.style.top = value + 'px'
    }
    addBody(){
    
    
        const div = document.createElement("div")
        this.element.insertAdjacentElement("beforeend", div)
    }
}

正确的代码:

class Snake{
    
    
    head: HTMLElement; // 蛇头元素
    bodies: HTMLCollection; // 蛇的身体
    element: HTMLElement;
    constructor(snakeEle:HTMLElement,head:HTMLElement){
    
    
        this.element = snakeEle;
        this.head = head
        this.bodies = snakeEle.getElementsByTagName("div")
    }

    // 获取蛇头的X坐标
    get X(){
    
    
        return this.head.offsetLeft
    }
    // 设置蛇头的X坐标
    set X(value:number){
    
    
        this.head.style.left = value + 'px'
    }
    // 获取蛇头的Y坐标
    get Y(){
    
    
        return this.head.offsetTop
    }
    // 设置蛇头的Y坐标
    set Y(value:number){
    
    
        this.head.style.top = value + 'px'
    }
    addBody(){
    
    
        const div = document.createElement("div")
        this.element.insertAdjacentElement("beforeend", div)
    }
}

猜你喜欢

转载自blog.csdn.net/weixin_42744724/article/details/128836517