JavaScript / Node将变量转换为类

时间:2016-07-03 11:04:35

标签: javascript node.js

再次出现了一个新的noobish问题。我有以下Blessed for NodeJS变量:

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

我将创建其中的多个,并且声明每个都不是最佳的,所以我认为一个类是完美的。令我困惑的是blessed.box的事情。我不知道如何将它实现到一个类中。

如何使用上述参数创建可重用的类?感谢。

编辑:

好的,我想出了如何重用上面的变量 - 这只是在函数中添加它的问题:

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

在思考之前很抱歉。结果很容易。

1 个答案:

答案 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'
        }
    }
});