mariklozik,
Можно сделать через ProductService.
То есть хранить состояние на уровне сервиса.
<content-section class="section">
<div class="container" ng-controller="ProductController as productController">
<p ng-repeat='product in productController.service.filteredProduct'>
{{product}}
</p>
<div class="row">
<div class="col-md-6" ng-repeat="x in productController.productDetails">
<product-card></product-card>
</div>
</div>
</div>
</content-section>
order.service('ProductService', function () {
var productDetails = [
{
name : 'Пиджак',
price: '590',
options: {
opt1: 'Химчистка',
opt2: 'Отпаривание'
},
counter: 1
},
{
name : 'Пиджак сложный',
price: '890',
options: {
opt1: 'Химчистка',
opt2: 'Отпаривание'
},
counter: 1
}
];
this.filteredProduct = [];
this.getDetails = function () {
return productDetails;
};
this.setProduct = function () {
this.filteredProduct = ['Продукт ' + Math.random()];
}
});
order.controller('ProductController', function (ProductService) {
this.productDetails = ProductService.getDetails();
this.service = ProductService;
var self = this;
this.counterInc = function(index){
self.productDetails[index].counter += 1;
};
this.counterDec = function(index){
self.productDetails[index].counter -= 1;
};
});
order.controller('CategoryController', function (ProductService) {
this.tab = 1;
this.setTab = function (tabId) {
this.tab = tabId;
};
this.isSet = function (tabId) {
return this.tab === tabId;
};
this.productService = ProductService;
});
Когда кликаем на
<div class="slide slick-slide slick-active" ng-click="tab.productService.setProduct()" >
<p class="category-title">Платья, юбки</p>
</div>
вызывается функция setProduct и в ней уже производить фильтрацию productList. А другой шаблон контроллер будет выводить эту часть состояния из сервиса (твои отфильтрованные продукты).