我正在使用AirBnb的infinity.js插件在我的应用中生成无限列表。
我在创建相关页面时第一次生成列表。
但是,列表必须根据过滤复选框和选择按钮进行更新。
所以我必须重新生成列表。
鉴于我的列表new infinity.ListView($el);
的创建位于函数resetModelsListView
中,如果每次我想要更新列表时重新启动resetModelsListView
,它都会创建一个新的列表视图。如何妥善管理?
function resetModelsListView(prodata, firsttime, funfeatureOn, specificBrand, specificPro) {
...
//create listview
var $el = $('#modelsListview');
var listView = new infinity.ListView($el);
//add new content:
var $newContent = $(optionsmodel); //optionsmodel is a list of <li>s
listView.append($newContent);
}
答案 0 :(得分:0)
如果这是好的做法我不会,但是现在我这样做:
function resetModelsListView(prodata, firsttime, funfeatureOn, specificBrand, specificPro) {
...
//USING INFINITY.JS:
//clear previous list
if (typeof listView !== 'undefined') {
listView.remove();
listView.cleanup();
}
//reinit the list
var $el = $('#modelsListview');
listView = new infinity.ListView($el);
//adding new content:
var $newContent = $(optionsmodel);
listView.append($newContent);
}