Как в angular реализовать фильтр по значению из url?

Привет, у меня не получается реализовать фильтрацию через значение получаемое в url
Вот фильтр:
$scope.categoryFilter = function (products){

                    if ($routeParams.categorySlug == products.category.seo_name){
                        return;
                    }else {
                        return $scope.products;
                    }
                };

Роутинг:

when('/products/category/:categorySlug', {
            controller: 'ProductsListController',
            controllerAs: 'vm',
            templateUrl: '/static/templates/products/products_index.html'
        }).otherwise('/');

Кусок Json'a :
{
    "name": "Брюки Classic Pyjama",
    "category": {
        "id": 2,
        "name": "Белье",
        "description": "",
        "visible": true,
        "products_count": 0,
        "products_count_cache": 0,
        "category_id_name": "2",
        "seo_name": "bele",
        "seo_title": "",
        "seo_desc": "",
        "seo_keywords": "",
        "lft": 2,
        "rght": 5,
        "tree_id": 3,
        "level": 1,
        "parent": {},
    "id": 920


В шаблоне используется так:

<div class="catalog-item" ng-repeat="product in products |filter: shopFilter">
        <div class="item-pre-title">
            Бесплатная доставка $150+
        </div>
        <div class="item-img">
            <a href="/products/{{ product.id }}/"><img ng-src="{{ product.picture[0].external_img_url }}" width="150px"
                                                       height="150px" alt=""></a>
        </div>
        <a href="/products/{{ product.id }}/" class="item-title">{{ product.name }}</a>
        <div class="item-price">
            <div class="price-old">{{ product.old_price }}</div>
            <b>{{ product.price }}</b>
        </div>
        <div class="item-footer">
            <a href="#" class="item-view"></a>
            <div class="item-sales-alert">
                Получить скиду
            </div>
        </div>
    </div>

Ошибка в консоли:
angular.js:11706 TypeError: Cannot read property 'seo_name' of null
Подкиньте идей как исправить, буду благодарен )
  • Вопрос задан
  • 535 просмотров
Решения вопроса 1
@walkaway Автор вопроса
Чёт я безбожно тупанул, сорян ребята.
Решается конечно же так:
$scope.categoryFilter = function (products){

                try {
                    if ($routeParams.categorySlug){
                       if ($routeParams.categorySlug == products.category.seo_name)
                            return products;
                    }else{
                        return $scope.products;
                    }
                }
                catch (TypeError) {
                   return;
                }};
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы