меню 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, время: 22:24. |