Javascript 动态窗口(框)和元素(nodejs文本UI库)

Javascript 动态窗口(框)和元素(nodejs文本UI库),javascript,node.js,Javascript,Node.js,我正在尝试使用Boweld,一个用于节点的文本UI库。我想动态创建windows(使用后释放),但在文档中找不到有关如何销毁它们的信息 我试图从它的父对象(屏幕)中删除已创建的Box对象,并删除对它的任何引用,这样节点的GC就可以完成其余的工作,但它似乎不起作用,可能是某个引用在某处泄漏 我能找到的例子并没有这样做,它们都创建了一堆窗口,隐藏它们,并在需要时再次显示它们 是否有人知道如何执行此操作,或者此操作不受支持?您可以使用。 例如,如果使用:screen.append(form)将表单(以

我正在尝试使用Boweld,一个用于节点的文本UI库。我想动态创建windows(使用后释放),但在文档中找不到有关如何销毁它们的信息

我试图从它的父对象(屏幕)中删除已创建的Box对象,并删除对它的任何引用,这样节点的GC就可以完成其余的工作,但它似乎不起作用,可能是某个引用在某处泄漏

我能找到的例子并没有这样做,它们都创建了一堆窗口,隐藏它们,并在需要时再次显示它们

是否有人知道如何执行此操作,或者此操作不受支持?

您可以使用。 例如,如果使用:
screen.append(form)将表单(以screen为父对象)附加到屏幕上您可以使用
屏幕销毁表单。删除(表单)它工作得很好

例如:

var form = blessed.form({
      parent: screen,
      width: '50%',
      height: 7,
      border: {
        type: 'line'
      },
      keys: true,
      tags: true,
      top: 'center',
      left: 'center'
    });

var cancel = blessed.button({
  parent: form,
  mouse: true,
  keys: true,
  shrink: true,
  padding: {
    left: 1,
    right: 1
  },
  left: 48,
  width: 9,
  top: 3,
  name: 'cancel',
  content: 'cancel',
  style: {
    focus: {
       bg: 'blue',
       fg: 'white'
    },
    hover: {
      bg: 'blue',
      fg: 'white'
    }
  },
  border: {
    type: 'line'
  }
});

var submit = blessed.button({
  parent: form,
  mouse: true,
  keys: true,
  shrink: true,
  padding: {
    left: 1,
    right: 1
  },
  left: 35,
  width: 9,
  top: 3,
  name: 'submit',
  content: 'submit',
  style: {
    focus: {
       bg: 'blue',
       fg: 'white'
    },
    hover: {
      bg: 'blue',
      fg: 'white'
    }
  },
  border: {
    type: 'line'
  }
});

screen.append(form);
submit.focus();
screen.render();

cancel.on('press', function() {
  screen.remove(form);
  screen.render();
});