一旦销毁了kendo小部件,页面中就不再需要它及其HTML。框架清除窗口小部件外的所有HTML,但不清除窗口小部件内的所有HTML。因此,每次销毁小部件时,我都需要编写几行代码来删除主小部件中的HTML。 如何避免此样板代码删除主窗口小部件元素中的HTML?为什么kendo不在主Widget中清理HTML?
答案 0 :(得分:1)
Kendo小部件的destroy()
方法只是准备从网站中删除的小部件。假设您要删除包含一个或几个小部件的大容器。使用destroy()
方法单独删除所有小部件的html,然后删除容器将导致性能下降。
我不知道你在哪里看到几行代码来销毁和移除小部件 - 它只是两个:
$("#widget").data("yourWidget").destory();
$("#widget").remove();
而且,您可以轻松创建自己的全局函数来销毁和删除小部件:
function deleteWidget(kendoWidget){
var element = kendoWidget.element;
kendoWidget.destroy();
element.remove();
}
如果您想重新创建小部件,可以使用:
function emptyWidget(kendoWidget){
var element = kendoWidget.element;
kendoWidget.destroy();
element.empty();
}
然后你可以使用空的html元素创建新的小部件。
有关在官方kendo文档中销毁小部件的更多信息:http://docs.telerik.com/kendo-ui/framework/widgets/destroy。