【问题标题】:How can I delete a widget in Aikau?如何在 Aikau 中删除小部件?
【发布时间】:2016-09-22 12:08:21
【问题描述】:

我在 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 的新版本中,什么会持续更长时间?

【问题讨论】:

  • 我已经添加了一个答案来帮助您,但我目前没有大量时间 - 如果您需要更多帮助,请添加评论,我会更新明天给出答案。

标签: javascript alfresco alfresco-share aikau


【解决方案1】:

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

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

【讨论】:

  • 谢谢,我找到了 DynamicWidgets 的例子,我已经更改了我的代码,它运行良好
  • 太棒了,很高兴听到。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-19
  • 1970-01-01
  • 2016-11-24
  • 2013-02-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多