我正嘗試在響應式網格中構建一個圖片庫,數據從Mongo DB下載。來自db的數據就是這種形式。名稱,圖像,關鍵字,生物,參考」,可搜索,收集已過濾的ng-repeat數據以用於控制器
我開始用NG-重複顯示基於圖片的關鍵字類別選擇複選框,這似乎很好地工作。
p CATEGORIES:
span.formgroup(data-ng-repeat='category in mongoController.catData')
input.checks(type='checkbox', ng-model='mongoController.filter[category]')
| {{category}}
這裏工廠進行排序,並確定關鍵字複選框:
getCategories: function (cat) {
return (cat || []).map(function (pic) {
return pic.keyword;
}).filter(function (pic, idx, array) {
return array.indexOf(pic) === idx;
});
}
從那裏我過濾的NG-重複基於該複選框選擇顯示圖片,和/或它也是行之有效的搜索領域
。個input.form-control.input-med(placeholder="Search" type='text', ng-model="search.searchable")
br
div.light.imageItem(data-ng-repeat="picture in filtered=(mongoController.allData | filter:search | filter:mongoController.filterByCategory)")
a(data-toggle="modal", data-target="#myModal", data-backdrop="static", ng-click='mongoController.selectPicture(picture)')
img(ng-src='../images/{{picture.image}}_tn.jpg', alt='Photo of {{picture.image}}')
p Number of results: {{filtered.length}}
功能,顯示畫面列表:
//Returns pictures of checkboxes || calls the noFilter function to show all
mongoController.filterByCategory = function (picture) {
return mongoController.filter[picture.keyword] || noFilter(mongoController.filter);
};
function noFilter(filterObj) {
for (var key in filterObj) {
if (filterObj[key]) {
return false;
}
}
return true;
}
如果單擊一個模式對話框的所有輸入字段,您可以編輯圖像的特定字段的彈出的圖片之一。
我真正掙扎的部分是如何從過濾的ng-repeat中收集可用數據以便在控制器中使用,因此當模式框啓動時,可以向右或向左滾動其他符合標準的圖片的搜索。
任何建議都會有幫助,甚至爲什麼你會這樣做?
它似乎很簡單,運作得非常好。感謝您打破僵局。 –