Показать сообщение отдельно
  #2 (permalink)  
Старый 29.01.2017, 17:19
Аватар для destus
Профессор
Отправить личное сообщение для destus Посмотреть профиль Найти все сообщения от destus
 
Регистрация: 18.05.2011
Сообщений: 1,207

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. А другой шаблон контроллер будет выводить эту часть состояния из сервиса (твои отфильтрованные продукты).
Ответить с цитированием