如何删除爱考中的小部件?

How can I delete a widget in Aikau?

我在 Aikau 中创建了一个小部件,其想法是在其中,任何时候都只有一个小部件,并且它会动态地从一种类型切换到另一种类型。

我的程序如下:

现在我的代码可以工作,但我不知道我是否正确地消除了所有的小部件子项。我没有在文档中找到任何功能来执行此操作:

swapWidget: function myPackage_myWidget__swapWidget(event) {
  // REMOVE ALL THE CHILDREN 
  // is it this ok?
  $(this.domNode).find('div').remove();

  var widgetId = event.widgetId
    , widget = this.widgetsPosibilities[widgetId]
    , clonedWidgets = lang.clone([widget])
    ;
  this.processWidgets(clonedWidgets, this.domNode);
},
postCreate :  function myPackage_myWidget__postCreate() {
  var event = {widgetId: this.initWidgetId};
  this.jumpWidget(event);

  this.alfSubscribe('MY_CUSTOM_EVENT', lang.hitch(this, this.swapWidget));

  this.inherited(arguments);
}

$(this.domNode).find('div').remove();”是否足以消除所有子部件?

一般来说,我更喜欢使用 JQuery,但也许正确的方法是使用 Dojo。

最好的方法是什么?

新版本的 Aikau 中什么会持续更长时间?

您应该尝试使用 DynamicWidgets。此小部件允许您配置可以使用小部件模型发布的订阅主题。 DynamicWidgets 小部件将自动删除显示的小部件并呈现请求的小部件。

我绝对不会推荐您目前采用的方法,因为它不太可能成为未来的证据。如果您需要,我可以提供一些使用此小部件的示例,或者您可以查看单元测试应用程序中的示例。