簡體   English   中英

類中的對象方法

[英]Object Methods within a Class

我是使用ES6 classes新手,我試圖弄清楚如何在為Table創建的類中對方法進行分組,以便進行排序,調整大小等方法。

class Table extends someClass{
    myMethods(){
        //BLAH      
    }
    var column={
        sort:()=>{
            console.log('firing');
        },
        resize:{
            mousedown:()=>{

            },
            mousemove:()=>{

            },
            mouseup:()=>{

            },
            mouseout:()=>{

            }
        }       
    },
    var cells={
        edit:()=>{
            console.log('firing');
        }
    }
}

//錯誤(意外標識符)

問題是Table類已經擴展了(默認基類) someClass ,我想說擴展了Column類之類,但是我不能,因為它已經在擴展基類。

問題:如何在一個已經擴展了另一個類的類中組織我的方法sortresize (或者這是非標准的,如果是,請提供正確的方法。)

您的代碼無效,因為您在類主體中使用了var關鍵字。 您只能在類主體中具有方法。 您可以通過在方法中為其設置值來為類創建屬性。 例如:

class Table extends someClass {
    constructor() {
        this.column = {
            sort: () => {
                console.log('firing');
            },
            resize: () => {
                console.log('firing');
            }
        };

        this.cells = {
            edit: () => { 
                console.log('firing');
            }
        }

    }

    myMethods() {
        //BLAH      
    }
}

現在您可以訪問如下方法:

var table = new Table();
table.column.sort();

class Table語法聲明一個類型為Table的類。 {}語法,例如:

{
    edit: () => { 
        console.log('firing');
    }
}

創建沒有類型的對象。

這是有關ES6類的指南,應回答您的其他問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM