Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 17.01.2017, 13:34
Новичок на форуме
Отправить личное сообщение для benderalex Посмотреть профиль Найти все сообщения от benderalex
 
Регистрация: 17.01.2017
Сообщений: 5

меню Angular дергается
Добрый день

Меню строится через ng-repeat во вьюхе, и при каждом клике на пункт меню оно неприятно вздрагивает и пересобирается. Как это обойти? Спасибо.
Ответить с цитированием
  #2 (permalink)  
Старый 17.01.2017, 13:43
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,225

Сообщение от benderalex
Меню строится через ng-repeat во вьюхе, и при каждом клике на пункт меню оно неприятно вздрагивает и пересобирается. Как это обойти?
Принести жертву!

Ответить с цитированием
  #3 (permalink)  
Старый 17.01.2017, 13:47
Аватар для Coriolan161
Профессор
Отправить личное сообщение для Coriolan161 Посмотреть профиль Найти все сообщения от Coriolan161
 
Регистрация: 21.11.2015
Сообщений: 440

benderalex,
надо код показать
Ответить с цитированием
  #4 (permalink)  
Старый 17.01.2017, 14:07
Новичок на форуме
Отправить личное сообщение для benderalex Посмотреть профиль Найти все сообщения от benderalex
 
Регистрация: 17.01.2017
Сообщений: 5

<div class="b-blog__aside-categories wow zoomInUp" data-wow-delay="2.3s">
                        <header class="s-lineDownLeft">
                            <h2 class="s-titleDet">Категории</h2>
                        </header>
                        <nav>
                            <ul class="b-blog__aside-categories-list" ng-repeat="category in categories">
                                <li><a href="#/category/{{category.slug}}">{{category.name}}</a></li>

                            </ul>
                        </nav>
                    </div>


код прост до безобразия )
Ответить с цитированием
  #5 (permalink)  
Старый 17.01.2017, 15:12
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,225

Сообщение от benderalex
код прост до безобразия
Это огрызок...

Нужен полный тестовый пример, который можно запустить и посмотреть чего там и как...
Ответить с цитированием
  #6 (permalink)  
Старый 17.01.2017, 16:13
Новичок на форуме
Отправить личное сообщение для benderalex Посмотреть профиль Найти все сообщения от benderalex
 
Регистрация: 17.01.2017
Сообщений: 5

var app = angular.module("frontApp", ["ngRoute"]);
app.config(function($routeProvider) {
    $routeProvider
        .when("/", {
            templateUrl : "view/main.html"
        })
        .when("/category/:catalogId", {
            templateUrl : "view/catalog.html",
            controller:"CategoryCtrl"
        })
        .when("/product/:productId", {
            templateUrl : "view/product.html",
            controller:"ProductCtrl"
        })
        .when("/catalog", {
            templateUrl : "view/catalog.html",
            controller:"CatalogCtrl"
        })
        .when("/download", {
            templateUrl : "view/download.html"
        })
        .when("/contact", {
            templateUrl : "view/contact.html"
        });
});


app.controller('CategoryCtrl',['$scope','$http','$routeParams',
    function($scope,$http, $routeParams){
        var catalogId = $routeParams.catalogId;
        var url = '/api/item/catalog/'+1+'/'+ catalogId;
        console.log(url);
        $http.get(url).success(function(data) {
            $scope.categories=data.categories;
            $scope.catalog=data.catalog;

        });
    }]);

app.controller('CatalogCtrl',['$scope','$http','$location', '$routeParams',
    function($scope,$http){
        var url = '/api/item/catalog/';
        console.log(url);
        $http.get(url).success(function(data) {
            $scope.categories=data.categories;

            $scope.catalog=data.catalog;

        });
    }]);


<div class="b-blog__aside-categories wow zoomInUp" data-wow-delay="2.3s">
                        <header class="s-lineDownLeft">
                            <h2 class="s-titleDet">Категории</h2>
                        </header>
                        <nav>
                            <ul class="b-blog__aside-categories-list" ng-repeat="category in categories">
                                <li><a href="#/category/{{category.slug}}">{{category.name}}</a></li>

                            </ul>
                        </nav>
                    </div>
Ответить с цитированием
  #7 (permalink)  
Старый 17.01.2017, 16:39
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,225

benderalex, кто будет собирать эти огрызки в работающий документ?
Ответить с цитированием
  #8 (permalink)  
Старый 17.01.2017, 23:20
Аватар для Coriolan161
Профессор
Отправить личное сообщение для Coriolan161 Посмотреть профиль Найти все сообщения от Coriolan161
 
Регистрация: 21.11.2015
Сообщений: 440

benderalex,
Попробуй вместо href сделать ng-href
Ответить с цитированием
  #9 (permalink)  
Старый 18.01.2017, 15:03
Новичок на форуме
Отправить личное сообщение для benderalex Посмотреть профиль Найти все сообщения от benderalex
 
Регистрация: 17.01.2017
Сообщений: 5

дело не ng-href (
у меня вызывается контроллер, и каждый раз приходит список категорий. Мне список категорий надо получить только один раз
Ответить с цитированием
  #10 (permalink)  
Старый 18.01.2017, 16:25
Аватар для Coriolan161
Профессор
Отправить личное сообщение для Coriolan161 Посмотреть профиль Найти все сообщения от Coriolan161
 
Регистрация: 21.11.2015
Сообщений: 440

benderalex,
Ну так и подгрузи их в родительском контролере. Конечно оно будет перерисовываться - у тебя же по ссылке каждый раз роут отрабатывает и привязывается заново контролер. А в этом случае он будет перерисовывать
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Замена стилей класса Павел Турченко Элементы интерфейса 9 30.10.2015 15:24
Бесконечноуровневое меню на CSS ruslan_mart Ваши сайты и скрипты 5 12.01.2015 20:59
Текуший пункт меню и разные родители Kiano Элементы интерфейса 17 08.01.2015 07:59
Выделение активных пунктов многоуровневого меню на jQuery Letto Элементы интерфейса 2 04.12.2013 15:30
Проблема с аккордионом и меню Tie ExtJS 3 01.09.2011 14:36