2016-07-03 83 views
-1

這又是一個新的noobish問題。我有以下爲有福變量的NodeJS:將JavaScript /節點轉換爲類

var box = blessed.box({ 
    width: '100%', 
    height: 1, 
    content: someContent, 
    tags: true, 
    style: { 
    fg: 'white', 
    bg: 'magenta', 
    hover: { 
     bg: 'green' 
    } 
    } 
}); 

我將要創建的這些多重,它不會是最佳的申報每一個,所以我覺得一類將是完美的。令我困擾的是幸福的盒子。我不知道如何實現它到一個類。

如何使用上述參數創建可重用類?謝謝。

編輯:

好吧,我想通了,如何再利用上述變量 - 它只是一個函數中添加它的事:

function createBox (content, top) { 
    var box = blessed.box({ 
    width: '100%', 
    height: 1, 
    top: top, 
    content: content, 
    tags: true, 
    style: { 
     fg: 'white', 
     bg: 'magenta', 
     hover: { 
     bg: 'green' 
     } 
    } 
    }); 
    screen.append(box); 

    box.on('click', function(data) { 
    box.setContent('{center}Some different {red-fg}content{/red-fg}.{/center}'); 
    screen.render(); 
    }); 
}; 

該函數這時可以調用任何次數:

createBox('someContent', 1); 
createBox('someContent', 2); 

對不起,想一想,然後再思考。原來很簡單。

+0

請澄清一下您的問題。 –

回答

1

我不是100%確定我理解你的問題。感覺就像你想知道如何在類語法中實現上面的內容。無論如何,它只是來自es15的語法糖。希望這可以幫助。我正在使用傳播運算符來傳遞選項。

class Blessed { 
    constructor(...options) { 
     this.width = options.width; 
     //... the rest of your properties here 
    } 
} 

const box = new Blessed({ 
    width: '100%', 
    height: 1, 
    content: someContent, 
    tags: true, 
    style: { 
     fg: 'white', 
     bg: 'magenta', 
     hover: { 
      bg: 'green' 
     } 
    } 
}); 
+0

對不清楚的解釋。我只是想弄清楚如何重用變量代碼(例如5箱),而不是聲明5次。在我問到:/ – Neekoy

+0

後,我在我的EDIT中發現了它。祝你好運!您也可以包裝您的功能並將該框作爲對象返回。因此,函數Blessed將返回框作爲對象,這意味着您將獲得與Blessed.box相同的效果,但不具有父函數範圍 –

+0

示例:https://jsfiddle.net/ositoozy/h37n6jym/ –