меню Angular дергается
Добрый день
Меню строится через ng-repeat во вьюхе, и при каждом клике на пункт меню оно неприятно вздрагивает и пересобирается. Как это обойти? Спасибо. |
Цитата:
![]() |
benderalex,
надо код показать |
<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> код прост до безобразия ) |
Цитата:
Нужен полный тестовый пример, который можно запустить и посмотреть чего там и как... |
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> |
benderalex, кто будет собирать эти огрызки в работающий документ?
|
benderalex,
Попробуй вместо href сделать ng-href |
дело не ng-href (
у меня вызывается контроллер, и каждый раз приходит список категорий. Мне список категорий надо получить только один раз |
benderalex,
Ну так и подгрузи их в родительском контролере. Конечно оно будет перерисовываться - у тебя же по ссылке каждый раз роут отрабатывает и привязывается заново контролер. А в этом случае он будет перерисовывать |
какое решение можно выбрать
структура страницы следующая header menu (о нас, каталог товаров) layout footer на вкладке товаров и появляется это меню. |
benderalex,
Сделай menuCtrl - это он должен контролировать клики по пунктам и подгружать |
Часовой пояс GMT +3, время: 08:02. |