Здравствуйте, подскажите как похожий фильтр написать на Vue.js?
Может есть пример?
$('.filters a').on('click', function() {
$('.filters li').removeClass('active');
$(this).parent('li').addClass('active'); // выделяем выбранную категорию
var cat = $(this).attr('data-filter'); // определяем категорию
if (cat == 'all') { // если all
$('.products li').show(); // отображаем все позиции
} else { // если не all
$('.products li').hide(); // скрываем все позиции
$('.products li[data-filter="' + cat + '"]').show(); // и отображаем позиции из соответствующей категории
}
});
* {
box-sizing: border-box;
}
ul {
list-style: none;
padding: 0px;
margin: 0px;
}
li {
margin: 0px;
padding: 0px;
}
a {
cursor: pointer;
}
.filters li {
display: inline-block;
padding: 5px 10px;
}
.filters li.active a {
color: #f00;
}
.products:after {
content: '';
display: block;
clear: both;
}
.products li {
width: 50px;
height: 50px;
float: left;
margin: 0 10px 10px 0;
background: #ccc;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul class="filters">
<li class="active"><a data-filter="all">all</a></li>
<li><a data-filter="cat1">cat1</a></li>
<li><a data-filter="cat2">cat2</a></li>
<li><a data-filter="cat3">cat3</a></li>
</ul>
<ul class="products">
<li data-filter="cat1">cat1</li>
<li data-filter="cat2">cat2</li>
<li data-filter="cat2">cat2</li>
<li data-filter="cat1">cat1</li>
<li data-filter="cat3">cat3</li>
<li data-filter="cat1">cat1</li>
<li data-filter="cat1">cat1</li>
<li data-filter="cat2">cat2</li>
<li data-filter="cat3">cat3</li>
<li data-filter="cat2">cat2</li>
<li data-filter="cat2">cat2</li>
<li data-filter="cat2">cat2</li>
<li data-filter="cat2">cat2</li>
<li data-filter="cat2">cat2</li>
<li data-filter="cat1">cat1</li>
<li data-filter="cat2">cat2</li>
<li data-filter="cat3">cat3</li>
<li data-filter="cat2">cat2</li>
<li data-filter="cat1">cat1</li>
<li data-filter="cat1">cat1</li>
<li data-filter="cat2">cat2</li>
<li data-filter="cat2">cat2</li>
<li data-filter="cat2">cat2</li>
<li data-filter="cat3">cat3</li>
</ul>
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости