2015-03-03 5 views
1

Я использую плагин 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); 

} 

ответ

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); 
} 
+0

Это похоже на то, что я делаю. Я просто проверяю 'typeof listView === 'object'' вместо этого, и я считаю, что вызов' remove() 'также очищается, поэтому избыточно использовать оба. – andrewtweber

Смежные вопросы