@maxprof
Студент

Как настроить переход между страницами в Angular?

Здравствуйте, скажите пожалуйста как правильно настроить переходы между страницами.
Для вывода пунктов меню использую массив записей:
$scope.lists = [
		{'name': 'Home'},
		{'name': 'SERVICES'} ...

И сам вывод на странице:
<li  ng-repeat="list in lists">
   <a href="/">{{list.name}}</a>

В контроллере написано так:
$routeProvide
.when('/',{
	templateUrl:'template/home.html',
	controller:'PhoneListCtrl'
})
.when('/SERVICES',{
	templateUrl:'template/SERVICES.html',
	controller:'servCntrl'
}) ...

Но меня постоянно перебрасывает в корневой каталог где указан список всех файлов проектаd2cbf4951550438880b7e2385670f0f5.PNG
Подскажите, как исправить
  • Вопрос задан
  • 3330 просмотров
Решения вопроса 1
dunmaksim
@dunmaksim
Технический писатель
Ссылки должны начинаться со знака # или со знаков !#, если нужна поисковая оптимизация, тогда не будет перекидывать. К тому же, используйте ng-href.
Вот тут явная ошибка:
<li  ng-repeat="list in lists">
   <a href="/">{{list.name}}</a>
</li>

У Вас ВСЕ ссылки будут вести на /. Правильно делать так:
<li ng-repeat="item in links">
    <a ng-href="#/{{ item.link }}">{{ item.title }}</a>
</li>

В свою очередь массив ссылок должен выглядеть примерно так:
links = [
    { link: 'contacts', title: 'Контакты' },
    { link: 'profile',  title: 'Профиль'  }
];
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Kano
Вы наверно забыли включить -
$locationProvider.html5Mode({enabled:true,requireBase:false}).hashPrefix('!');
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы