我在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的新版本中会持续多长时间?
答案 0 :(得分:3)
您应该尝试使用DynamicWidgets。此小组件允许您配置可以使用小组件模型发布的订阅主题。 DynamicWidgets小部件将自动删除显示的小部件并呈现请求的小部件。
我绝对不会推荐您目前采用的方法,因为它不太可能成为未来的证据。如果您需要,我可以提供一些使用此小部件的示例,或者您可以查看单元测试应用程序中的示例。