infinity.js的最佳实践

时间:2015-03-03 10:01:47

标签: javascript jquery infinity.js

我正在使用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);

}

1 个答案:

答案 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);
}