我如何/在哪里正确清理kendo小部件?我不想明显地堆叠实例,但是我无法确定将.destroy()
绑定到哪些事件。 Telerik的文档并没有真正谈论这个问题。
我正在创建触摸小部件的多个实例(用于动态列表数据)来处理每个li
元素的listview滑动,我想在导航时清理它们。
是否有一种简单的方法可以清理与listview相关的所有小部件(触摸/切换)?感谢。
答案 0 :(得分:1)
在kendo Mobile中,第一次导航到视图时,会初始化它并将元素添加到DOM中。但是,当您离开视图时,它将完全保留在内存中并附加到DOM,但会被导航到的视图隐藏。这意味着通常不需要销毁您的小部件和事件处理程序。
但是,您可以在调用view.hide事件时销毁视图中的项目。
如果您想要一种更简单的方法来销毁特定元素下的所有小部件,您可以使用kendo.destroy()并传入元素。
如果您在要破坏的项目中使用任何MVVM,我建议您先调用kendo.unbind()。
类似的东西:
var $listView = $("#listView:);
kendo.unbind($listView);
kendo.destroy($listView);
请注意,此代码会破坏listview小部件以及每个li
元素中的任何小部件。
答案 1 :(得分:-2)
看一下文档,真的不需要垃圾清理,如果你有这么多的小部件,也许可以。做
kendo.destroy(document.body); // this will destroy all the widgets on page. if not select the widget and call destroy.
文档:http://docs.telerik.com/kendo-ui/framework/widgets/destroy#destroy-kendo-ui-widgets