kendo 主要小部件 HTML 需要手动删除
kendo main widget HTML needs to be removed manually
一旦 kendo 小部件被销毁,页面将不再需要它及其 HTML。该框架会清除小部件外部的所有 HTML,但不会清除小部件内部的所有内容。所以每次销毁小部件时,我都需要编写几行代码来删除主小部件中的 HTML 。
如何避免此样板代码删除主小部件元素中的 HTML ?为什么 kendo 不清理 HTML 主 Widget 中的内容?
Kendo 小部件的 destroy()
方法只是准备将小部件从站点中删除。假设您想要删除一个包含一个或几个小部件的大容器。使用destroy()
方法单独移除所有widget的html,然后移除container会导致性能下降。
我不知道你在哪里看到几行代码来销毁和删除小部件 - 只有两行:
$("#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。
一旦 kendo 小部件被销毁,页面将不再需要它及其 HTML。该框架会清除小部件外部的所有 HTML,但不会清除小部件内部的所有内容。所以每次销毁小部件时,我都需要编写几行代码来删除主小部件中的 HTML 。 如何避免此样板代码删除主小部件元素中的 HTML ?为什么 kendo 不清理 HTML 主 Widget 中的内容?
Kendo 小部件的 destroy()
方法只是准备将小部件从站点中删除。假设您想要删除一个包含一个或几个小部件的大容器。使用destroy()
方法单独移除所有widget的html,然后移除container会导致性能下降。
我不知道你在哪里看到几行代码来销毁和删除小部件 - 只有两行:
$("#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。