Я пытаюсь создать страницу поиска с помощью angularjs. Мне нужно указать некоторые поля (флажок, радио, возрастной диапазон и т. д.) в качестве фильтров для результатов поиска. В этой демонстрации я сосредоточусь только на флажках. Я дал демо-код в приведенном ниже списке плунжеров
http://plnkr.co/edit/PMQQzf63uy8Pzq4fVIYQ?p=preview
Таким образом, на приведенной выше странице, когда пользователь выбирает «Желтый», поле «показать» для «результата 1» должно стать ложным. И если пользователь далее выбирает «Круг», то поле «показать» для «результата 2» должно быть ложным. Пользователь может выбрать более одного цвета или формы.
Хотя я не писал длинный код, я думаю о следующем:
whenever there is user action on filters{ //select or deselect
for each result{ //"result 1", "result 2", "result 3"
result.show=true
//The below condition is m:n check and hence is a nested for loop.
if none of the selected colors match the colors in the result
result.show=false
//The below condition can be achieved using a single for loop
if none of the selected shapes match the shape of the result
result.show=false
}
}
Я хотел бы знать любые шаблоны проектирования, на которые я могу ссылаться при разработке вышеуказанной функции. Также, если в angularjs есть какие-либо простые альтернативы для достижения вышеуказанного.
Изменить: на самом деле я хочу скрыть результаты, которые не соответствуют критериям фильтра. Я использовал поле «показать» только для демонстрации примера.
show
изменено на false с true) в зависимости от того, что выбрано. В таких случаях вам остается только следить за флажками и вручную изменять значения. - person callmekatootie   schedule 29.05.2014ng-repeat="result in results"
. - person Surreal Dreams   schedule 29.05.2014